Sto lavorando a un progetto in cui avrò un sacco di dati, e sarà ricercabile in varie forme che sono espresse molto efficientemente come query SQL, ma deve anche essere ricercata tramite l'elaborazione del linguaggio naturale.Le migliori pratiche per combinare Lucene.NET e un database relazionale?
Il mio piano è quello di costruire un indice utilizzando Lucene per questa forma di ricerca.
La mia domanda è che se faccio questo, ed eseguo una ricerca, Lucene restituirà quindi l'ID dei documenti corrispondenti nell'indice, quindi devo cercare queste entità dal database relazionale.
Ciò potrebbe essere fatto in due modi (che mi viene in mente finora):
- N quantità di query (orribile)
- passare tutti gli ID per una stored procedure in una sola volta (forse come un parametro delimitato da virgola). Questo ha lo svantaggio di essere limitato alla dimensione massima del parametro e il rallentamento delle prestazioni di una UDF per dividere la stringa in una tabella temporanea.
Sono quasi tentato di eseguire il mirroring di tutto nell'indice di lucenes, in modo da poter generare periodicamente l'indice dal backing store, ma è necessario solo accedervi per il frontend.
Consigli?
Ciao. Hai finito il tuo progetto? Che cosa hai fatto? – Eduardo