2011-12-15 22 views
5

Attualmente ho una tabella di diagnosi. Voglio rendere ricercabili i campi di codice e descrizione usando FTS. A quanto ho capito, però, le tabelle FTS non supportano gli indici e devo essere in grado di cercare diagnosi con ID diagnosi molto rapidamente. Dovrò creare una seconda tabella virtuale con tutti i dati duplicati solo per la ricerca full-text o mi manca una soluzione in cui non devo duplicare tutti i miei codici diagnostici e le descrizioni?Indici di ricerca testo completo SQLite

CREATE TABLE Diagnosis ( 
    diagnosisID  INTEGER PRIMARY KEY NOT NULL, 
    code   TEXT, 
    collect   INTEGER NOT NULL, 
    description  TEXT 
); 
+0

Hai trovato la risposta a questa domanda? – tamsler

+0

No ho appena duplicato i campi in entrambe le tabelle. – MobileGuy

risposta

5

Risulta una tabella FTS ha un nascosto rowid campo, che è possibile popolare i dati quando si sta immettendo:

sqlite> create virtual table test1 using fts3; 
sqlite> insert into test1 values ("This is a document!"); 
sqlite> insert into test1(docid,content) values (5,"this is another document"); 
sqlite> select rowid,* from test1; 
1|This is a document! 
5|this is another document 

è possibile creare un campo intero nella tabella standard che si riferisce alla FTS tabella per riga, e sposta le colonne che vuoi rendere ricercabili per testo nella tabella FTS.

Tutte le informazioni che ti servono here :)

Problemi correlati