Lucene用の(Java)蛍光ペン(Sandboxパッケージ内)をしばらく使用しています。ただし、これは検索結果の正しい用語の照合に関してはあまり正確ではありません。たとえば、2つの別々の単語を検索すると、結果の両方のコードフラグメントが強調表示されます。
ただし、より複雑なクエリではうまく機能しません。最も単純なケースでは、「Stack Overflow」などのフレーズクエリは、強調表示で発生するStackまたはOverflowのすべてに一致し、ユーザーにうまく機能していないという印象を与えます。
ここで修正を適用しようとしましたが、パフォーマンスに関する多くの警告があり、結局のところ、まったく使用できませんでした。パフォーマンスは、ワイルドカードクエリで特に問題になります。これは、強調表示が機能する方法によるものです。クエリ文字列とテキストを処理するだけでなく、Luceneのように解析して、Luceneが行ったすべての一致を検索します。残念ながら、これは、特定のワイルドカードクエリでは、大きなドキュメントの2000以上の句に一致するものを検索する可能性があり、単に十分な速度ではないことを意味します。
正確な蛍光ペンのより高速な実装はありますか?