Я шукаю високоефективну структуру даних для зберігання даних, подібних до наступних.
Ідентифікаційні теги Order1 Order2 -------------------------- 1 1,2 1 1 2 2,5 2 3 3 1,7 4 7 4 6 3 0
Мені потрібно , щоб мати можливість запросити цю структуру таким чином , що це дало б мені список всіх ідентифікаторів , що містять вираз тегів - підтримка AND
і OR
та NOT
операції. Напр. ((1 або 2), а не 7)
Мені також потрібно мати змогу вказати впорядкування результатів (Order1 або Order2) та бути в змозі вказати максимальні рядки, що повертаються з необов'язковим зміщенням. Ефективність для перших 30-100 результатів є ключовою.
Нарешті, мені потрібен дешевий спосіб пошуку "відносин тегів", наприклад, я хочу знати, які теги "відносяться" до тегів (1 АБО 2) і з якою частотою. Значення, які теги відображаються в тому ж наборі, що і 1 АБО 2 ... упорядковано за частотою.
Будь-яке уявлення про те, яка структура даних (або набір структур) була б високоефективною для такого роду робіт?
(Я хотів би використати це як доказ концепції для перероблення тегів сторінок сімейства сайтів SE)