Lucene.net でフレーズを検索する方法の例を教えてもらえますか?
インデックスに、フィールド「name」、値「Jon Skeet」を持つドキュメントがあるとします。「jon skeet」を検索するときに、そのドキュメントを見つけられるようにしたいと考えています。
Lucene.net でフレーズを検索する方法の例を教えてもらえますか?
インデックスに、フィールド「name」、値「Jon Skeet」を持つドキュメントがあるとします。「jon skeet」を検索するときに、そのドキュメントを見つけられるようにしたいと考えています。
近接検索を使用して、互いに一定の距離内にある用語を検索できます。Lucene クエリ構文は次のようになります。これ"jon skeet"~3
は、"jon" と "skeet" を 3 単語以内で検索することを意味します。この構文では、相対的な順序は重要ではありません。「jon q. skeet」、「skeet, q. jon」、および「jon skeet」はすべて一致します。
単一のトークンとして扱いたいフレーズのリストがある場合は、アナライザーでそれを処理する必要があります。たとえば、「近東」、「中東」、「極東」を個別のトークンとして扱いたいとします。これらのフレーズを 1 つの単語であるかのように処理できるように、先読み機能を備えたアナライザーを作成する必要があります。このアナライザーは、インデクサーと検索アプリケーションのユーザー入力の両方で使用されます。