Sto cercando una struttura di dati altamente efficiente per l'archiviazione di dati simile al seguente.
ID tag Ordine1 Ordine2 -------------------------- 1 1,2 1 1 2 2,5 2 3 3 1,7 4 7 4 6 3 0
Ho bisogno di essere in grado di interrogare questa struttura nel modo un che mi avrebbe dato una lista di tutti gli ID che contengono l'espressione di tag - sostenere AND
ed OR
e NOT
operazioni. Per esempio. ((1 o 2) e non 7)
Devo anche essere in grado di specificare l'ordine dei risultati (Ordine1 o Ordine2) ed essere in grado di specificare il numero massimo di righe restituite con un offset opzionale. Le prestazioni per il recupero dei primi 30-100 risultati sono fondamentali.
Infine, ho bisogno di un modo economico per cercare "relazioni tag", ad esempio voglio sapere quali tag "si collegano" ai tag (1 OR 2) e con quale frequenza. Significa quali tag compaiono nello stesso set di 1 OR 2 ... ordinati per frequenza.
Qualche idea di quale struttura di dati (o insieme di strutture) sarebbe altamente efficiente per questo tipo di lavoro?
(Vorrei usarlo come prova di concetto per riprogettare le pagine taggate della famiglia di siti SE)