Tôi đang tìm kiếm một cấu trúc dữ liệu hiệu quả cao để lưu trữ dữ liệu tương tự như sau.
Thẻ Id Order1 Order2 -------------------------- 1 1,2 1 1 2 2,5 2 3 3 1,7 4 7 4 6 3 0
Tôi cần phải có khả năng truy vấn cấu trúc này theo một cách như vậy mà nó sẽ cung cấp cho tôi một danh sách của tất cả các id chứa một biểu hiện của thẻ - hỗ trợ AND
và OR
và NOT
hoạt động. Ví dụ. ((1 hoặc 2) chứ không phải 7)
Tôi cũng cần có khả năng chỉ định thứ tự kết quả (Order1 hoặc Order2) và có thể chỉ định các hàng tối đa được trả về với phần bù tùy chọn. Hiệu suất cho việc tìm nạp 30-100 kết quả đầu tiên là chìa khóa.
Cuối cùng, tôi cần một cách rẻ tiền để tra cứu "quan hệ thẻ", ví dụ tôi muốn biết thẻ nào "liên quan" đến thẻ (1 HOẶC 2) và ở tần số nào. Có nghĩa là các thẻ xuất hiện trong cùng một bộ là 1 HOẶC 2 ... được sắp xếp theo tần suất.
Bất kỳ ý tưởng về cấu trúc dữ liệu (hoặc bộ cấu trúc) nào sẽ có hiệu quả cao cho loại công việc này?
(Tôi muốn sử dụng điều này như một bằng chứng về khái niệm để thiết kế lại các trang được gắn thẻ của gia đình SE của các trang web)