Tôi đang cố gắng triển khai Faceted search hoặc gắn thẻ bằng tính năng lọc nhiều thẻ. Trong điều hướng mặt, chỉ các danh mục không trống được hiển thị và số lượng mục trong danh mục cũng phù hợp với tiêu chí đã áp dụng được trình bày trong dấu ngoặc đơn.Thực hiện hiệu quả tìm kiếm mặt trong cơ sở dữ liệu quan hệ
I can get all items having assigned categories using INNER JOINs và get number of items in all category using COUNT and GROUP BY, tuy nhiên tôi không chắc nó sẽ mở rộng như thế nào với hàng triệu đối tượng và hàng nghìn thẻ. Đặc biệt là đếm.
Tôi biết rằng có một số giải pháp này không quan hệ như Lucene + SOLR, nhưng tôi đã tìm thấy cũng có một số triển khai RDBMS dựa trên mã nguồn đóng được cho là entreprise-sức mạnh như FacetMap.com hoặc Endeca phần mềm, vì vậy phải có một cách hiệu quả để thực hiện tìm kiếm mặt trong cơ sở dữ liệu quan hệ.
Có ai có kinh nghiệm về tìm kiếm mặt và có thể đưa ra một số mẹo không?
Cache số lượng cho từng bộ danh mục? Có thể sử dụng một số kỹ thuật gia tăng thông minh sẽ cập nhật các quầy?
Chỉnh sửa:
Ví dụ về điều hướng mặt có thể tìm thấy tại đây: Flamenco.
Hiện tại tôi có lược đồ 3 bảng tiêu chuẩn (các mục, thẻ và items_tags như được mô tả ở đây: http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html#toxi) cộng với một bảng cho các khía cạnh. Mỗi thẻ đã gán một khía cạnh.
Bạn có bảng thiết lập chưa? Bạn có thể cung cấp cấu trúc không? –
Để làm rõ, Endeca không phải là trình bao bọc trên cơ sở dữ liệu quan hệ. Nó lưu trữ tất cả các thông tin cần thiết cho tìm kiếm mặt và các hoạt động khác trong nội bộ. –
Liên kết Flamenco không hoạt động nữa. Đây có phải là cái mới không? http://flamenco.berkeley.edu/ –