Domanda

Sto usando la (Java) Evidenziatore per Lucene (nella Sandbox pacchetto) per qualche tempo.Tuttavia, questo non è davvero molto preciso quando si tratta della corrispondenza tra i termini corretti nei risultati di ricerca - funziona bene per le query semplici, ad esempio la ricerca di due parole distinte, per evidenziare sia i frammenti di codice nei risultati.

Tuttavia, non agire con più query complicate.Nel caso più semplice, la frase query come "Stack Overflow", la corrispondenza di tutte le occorrenze di Stack Overflow o nel evidenziando, che dà l'impressione all'utente che non funziona molto bene.

Ho provato ad applicare il fix qui ma che è venuto con un sacco di prestazioni avvertenze, e alla fine della giornata è stato semplicemente inutilizzabile.La performance è soprattutto un problema su jolly query.Questo è dovuto al modo in cui l'evidenziazione dei lavori;invece di lavorare su querystring e il testo analizza come Lucene e poi cerca tutte le partite che Lucene ha fatto;purtroppo questo significa che per alcuni jolly query può essere alla ricerca per le partite a 2000+ clausole di documenti di grandi dimensioni, ed è semplicemente non abbastanza veloce.

C'è qualche implementazione più veloce di un accurato evidenziatore?

È stato utile?

Soluzione

C'è un nuovo più veloce evidenziatore (deve essere patchato, ma farà parte della versione 2.9)

https://issues.apache.org/jira/browse/LUCENE-1522

e un back-riferimento a questa domanda

Altri suggerimenti

Si poteva guardare in utilizzando Solr. http://lucene.apache.org/solr

Solr è una sorta di ricerca generica applicazione che utilizza Lucene e supporta l'evidenziazione.È possibile che l'evidenziazione in Solr è utilizzabile anche come API al di fuori di Solr.Si potrebbe anche guardare a come Solr fa per ispirazione.

Ho letto sull'argomento e mi sono imbattuto spanQuery che sarebbe tornato la durata della corrispondenza del termine o dei termini nel campo corrispondente.

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