3

Lucene用の(Java)蛍光ペン(Sandboxパッケージ内)をしばらく使用しています。ただし、これは検索結果の正しい用語の照合に関してはあまり正確ではありません。たとえば、2つの別々の単語を検索すると、結果の両方のコードフラグメントが強調表示されます。

ただし、より複雑なクエリではうまく機能しません。最も単純なケースでは、「Stack Overflow」などのフレーズクエリは、強調表示で発生するStackまたはOverflowのすべてに一致し、ユーザーにうまく機能していないという印象を与えます。

ここで修正を適用しようとしましたが、パフォーマンスに関する多くの警告があり、結局のところ、まったく使用できませんでした。パフォーマンスは、ワイルドカードクエリで特に問題になります。これは、強調表示が機能する方法によるものです。クエリ文字列とテキストを処理するだけでなく、Luceneのように解析して、Luceneが行ったすべての一致を検索します。残念ながら、これは、特定のワイルドカードクエリでは、大きなドキュメントの2000以上の句に一致するものを検索する可能性があり、単に十分な速度ではないことを意味します。

正確な蛍光ペンのより高速な実装はありますか?

4

3 に答える 3

2

新しい高速ハイライターがあります (パッチを適用する必要がありますが、リリース 2.9 の一部になります)。

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

およびこの質問への後方参照

于 2009-03-16T18:44:46.017 に答える
1

私はこの件名について読んでいて、一致した用語または一致したフィールドの用語のスパンを返すspanQueryに出くわしました。

于 2008-10-02T21:49:16.913 に答える
1

Solrの使用を検討できます。http://lucene.apache.org/solr

Solr は、Lucene を使用し、強調表示をサポートする一種の汎用検索アプリケーションです。Solr の強調表示は、Solr の外部で API として使用できる可能性があります。また、Solr がどのようにインスピレーションを得ているかを確認することもできます。

于 2008-09-17T16:24:03.017 に答える