Gibt es eine schnelle, präzise Highlighter für Lucene?

Habe ich mit der (Java -) Highlighter für Lucene (in der Sandbox-Paket) für einige Zeit. Jedoch ist dies nicht wirklich sehr genau, wenn es um den passenden Begriffe in den Suchergebnissen - es funktioniert gut für einfache Abfragen, zum Beispiel suchen zwei separate Wörter, markieren Sie die beiden code-Fragmente in die Ergebnisse.

Aber er handelt nicht gut mit mehr komplizierte Abfragen. Im einfachsten Fall von Abfragen mit Phrasen wie "Stack-Overflow" passt auf alle Instanzen von Stack-oder Überlauf in die Markierung, was den Eindruck für den Benutzer, dass es nicht funktioniert sehr gut.

Ich versucht, die Anwendung der fix hier aber das kam mit einer Menge von performance-Schwachstellen, und am Ende des Tages war einfach nur unbrauchbar. Die Leistung ist vor allem ein Problem bei Abfragen mit Platzhaltern. Dies ist aufgrund der Art und Weise, dass die Hervorhebung funktioniert; anstatt einfach nur die Arbeit auf dem querystring und der text analysiert, wie Lucene würde und schaut dann für alle Spiele, die Lucene gemacht hat; leider bedeutet dies, dass für bestimmte Abfragen mit Platzhaltern kann es sein, nach übereinstimmungen zu suchen, um 2000+ Bestimmungen über die großen Dokumente, und es ist einfach nicht schnell genug.

Gibt es einen schnelleren Umsetzung eine genaue highlighter?

  • Der "Highlighter für Lucene" - link ist derzeit unterbrochen.
  • Danke für den Hinweis, habe ich Feste den link.
  • Nun, dass Lucene 3.0.0 ist out, sollten Sie feststellen, dass bei einem Upgrade alles zu machen, dass Dinge einfach funktionieren. ABER - hüten Sie sich vor, dass der highlighter hat nun eine Abhängigkeit auf lucene-Speicher von contrib, als auch (dies wird nur angezeigt, wenn die Markierung für genaue übereinstimmungen)
InformationsquelleAutor Mat Mannion | 2008-09-17
Schreibe einen Kommentar