2013-01-23 48 views
5

Tôi làm việc cho một trang web tin tức lưu trữ tất cả các câu chuyện của họ dưới dạng XML. Tôi biết, không phải là cách tốt nhất để đi, nhưng nó là những gì nó được. Những gì tôi đang cố gắng làm là làm cho nó có thể tìm kiếm thông qua các tập tin XML từ trang web. Ngay bây giờ tính năng tìm kiếm của chúng tôi là tất cả được Google hỗ trợ (nó chỉ tìm kiếm bất kỳ thứ gì Google đã thu thập dữ liệu).Tìm kiếm hoặc lập chỉ mục các tệp XML

Điều tôi đang nghĩ ngay từ đầu là sử dụng Grep, loại công việc nào ổn, nhưng có lẽ sẽ không mở rộng quá nhiều. Một tùy chọn khác sẽ tốn nhiều công sức hơn, nhưng sẽ hoạt động tốt hơn, là lưu trữ các phần của các XML trong một cơ sở dữ liệu quan hệ.

Với cách mà chương trình phụ trợ của chúng tôi được thiết lập, việc chuyển sang một mô hình lưu trữ khác sẽ mất nhiều thời gian, do đó, hiện tại, đây là những gì chúng tôi phải làm việc. Ý tưởng?

Trả lời

3

Thêm một số bộ nhớ đệm có thể giúp bạn mở rộng ý tưởng grep. Tuy nhiên, bạn có thể xem xét một giải pháp không chỉ giúp ban nhạc giải quyết vấn đề ngày hôm nay mà còn đưa bạn đến gần hơn với một giải pháp tốt hơn vào ngày mai. Có lẽ thiết kế một giải pháp tốt hơn và thực hiện nó từng mảnh theo thời gian sẽ làm các trick.

0

Nếu bạn cam kết sử dụng XML, tôi khuyên bạn nên sử dụng giải pháp cơ sở dữ liệu XML gốc như Berkeley DBXML hoặc eXist-db. Cả hai đều cho phép bạn bắn xqueries vào chúng. eXist cũng thực hiện tìm kiếm văn bản đầy đủ mà DBXML không, tuy nhiên sau này là nhanh hơn tại lấy dữ liệu.

1

Tôi cũng khuyên bạn nên sử dụng hệ thống cơ sở dữ liệu XML như BaseX (.org), vì nó rất nhanh. Tôi sẽ đề nghị lưu trữ mỗi bài viết trong một tập tin riêng biệt. BaseX hỗ trợ XQuery 3.0 cũng như Toàn văn, Cơ sở cập nhật ...

Các vấn đề liên quan