Szukam wysoce wydajnej struktury danych do przechowywania danych podobnych do poniższych.
Identyfikatory Zamówienie 1 Zamówienie 2 -------------------------- 1 1,2 1 1 2 2,5 2 3 3 1,7 4 7 4 6 3 0
Muszę być w stanie kwerendy tej struktury w taki sposób, że daje mi listę wszystkich identyfikatorów zawierających wyraz tagów - wspieranie AND
i OR
i NOT
operacje. Na przykład. ((1 lub 2) i nie 7)
Potrzebuję też być w stanie określić kolejność wyników (Order1 lub Order2) i być w stanie określić maksymalną liczbę wierszy zwracanych z opcjonalnym przesunięciem. Kluczowe znaczenie ma wydajność przy pobieraniu pierwszych 30–100 wyników.
Na koniec potrzebuję taniego sposobu na wyszukanie „relacji znaczników”, na przykład chcę wiedzieć, które znaczniki „odnoszą się” do znaczników (1 LUB 2) i na jakiej częstotliwości. Oznacza, które tagi pojawiają się w tym samym zestawie co 1 LUB 2 ... uporządkowane według częstotliwości.
Masz pojęcie o tym, która struktura danych (lub zestaw struktur) byłaby wysoce wydajna dla tego rodzaju pracy?
(Chciałbym użyć tego jako dowodu koncepcji przeprojektowania otagowanych stron rodziny witryn SE)