Saya mencari struktur data yang sangat efisien untuk penyimpanan data yang mirip dengan yang berikut ini.
Id Tags Order1 Order2 -------------------------- 1 1,2 1 1 2 2,5 2 3 3 1,7 4 7 4 6 3 0
Saya harus dapat menanyakan struktur ini sedemikian rupa sehingga akan memberi saya daftar semua id yang berisi ekspresi tag - mendukung AND
dan OR
dan NOT
operasi. Misalnya. ((1 atau 2) dan bukan 7)
Saya juga harus dapat menentukan urutan hasil (Order1 atau Order2) dan dapat menentukan baris maksimum yang dikembalikan dengan offset opsional. Kinerja untuk pengambilan 30-100 hasil pertama adalah kuncinya.
Akhirnya, saya membutuhkan cara yang murah untuk mencari "hubungan tag" misalnya saya ingin tahu tag mana yang "berhubungan" dengan tag (1 ATAU 2) dan dalam frekuensi berapa. Berarti tag mana yang muncul dalam set yang sama dengan 1 ATAU 2 ... dipesan berdasarkan frekuensi.
Adakah gagasan tentang struktur data apa (atau sekumpulan struktur) yang sangat efisien untuk jenis pekerjaan ini?
(Saya ingin menggunakan ini sebagai bukti konsep untuk mendesain ulang halaman yang ditandai dari keluarga situs SE)