3

Lucene.net でフレーズを検索する方法の例を教えてもらえますか?

インデックスに、フィールド「name」、値「Jon Skeet」を持つドキュメントがあるとします。「jon skeet」を検索するときに、そのドキュメントを見つけられるようにしたいと考えています。

4

1 に答える 1

4

近接検索を使用して、互いに一定の距離内にある用語を検索できます。Lucene クエリ構文は次のようになります。これ"jon skeet"~3は、"jon" と "skeet" を 3 単語以内で検索することを意味します。この構文では、相対的な順序は重要ではありません。「jon q. skeet」、「skeet, q. jon」、および「jon skeet」はすべて一致します。

単一のトークンとして扱いたいフレーズのリストがある場合は、アナライザーでそれを処理する必要があります。たとえば、「近東」、「中東」、「極東」を個別のトークンとして扱いたいとします。これらのフレーズを 1 つの単語であるかのように処理できるように、先読み機能を備えたアナライザーを作成する必要があります。このアナライザーは、インデクサーと検索アプリケーションのユーザー入力の両方で使用されます。

于 2008-12-05T07:18:31.990 に答える