Domanda

Ho un database MS SQL e un campo varchar su cui vorrei fare query come dove nome come '% searchTerm%' . Ma in questo momento è troppo lento, anche con l'indicizzazione full text di SQL enterprise.

Qualcuno può spiegare come Lucene .Net potrebbe aiutare la mia situazione? Come funziona l'indicizzatore? Come funzionano le query?

Cosa viene fatto per me e cosa devo fare?

È stato utile?

Soluzione

Ho visto questo ragazzo (Michael Neel) presente su Lucene durante una riunione del gruppo di utenti - in effetti, costruisci file di indice (usando Lucene) e hanno puntatori a tutto ciò che vuoi (file di database, qualunque cosa)

http://code.google.com/p / vinull / source / browse / # svn / Esempi / LuceneSearch

Molto veloce, flessibile e potente.

Ciò che è buono con Lucene è la capacità di indicizzare una varietà di cose (file, immagini, righe di database) insieme nel proprio indice usando Lucene e poi tradurlo di nuovo nel dominio aziendale, mentre con SQL Server tutto deve essere in SQL per essere indicizzato.

Non sembra che le sue diapositive siano lassù nel codice di Google.

Altri suggerimenti

Questo articolo (stranamente è in cima ai risultati di ricerca di Google :) ha una descrizione abbastanza buona di come la ricerca di Lucene potrebbe essere ottimizzata.

Lucene correttamente configurato dovrebbe battere facilmente la ricerca di indicizzazione full-text di SQL (precedente al 2005). Se utilizzi MS SQL 2005 e le tue prestazioni di ricerca sono ancora troppo lente, potresti prendere in considerazione la possibilità di verificare la tua configurazione del DB.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top