Lucene-クエリプログラミング

前の章で見ました Lucene - Search Operation、LuceneはIndexSearcherを使用して検索を行い、QueryParserによって作成されたQueryオブジェクトを入力として使用します。この章では、さまざまな種類のクエリオブジェクトと、それらをプログラムで作成するさまざまな方法について説明します。さまざまなタイプのクエリオブジェクトを作成すると、実行する検索の種類を制御できます。

ユーザーが検索結果を制限するための複数のオプションを与えられる多くのアプリケーションによって提供される高度な検索のケースを考えてみましょう。クエリプログラミングにより、同じことを非常に簡単に実現できます。

以下は、後で説明するクエリタイプのリストです。

S.No. クラスと説明
1 TermQuery

このクラスは、インデックス作成プロセス中にインデックスを作成/更新するコアコンポーネントとして機能します。

2 TermRangeQuery

TermRangeQueryは、テキスト用語の範囲を検索する場合に使用されます。

3 PrefixQuery

PrefixQueryは、インデックスが指定された文字列で始まるドキュメントを照合するために使用されます。

4 BooleanQuery

BooleanQueryは、を使用した複数のクエリの結果であるドキュメントを検索するために使用されます AND, OR または NOT 演算子。

5 PhraseQuery

フレーズクエリは、特定の用語シーケンスを含むドキュメントを検索するために使用されます。

6 WildCardQuery

WildcardQueryは、任意の文字シーケンスに対して「*」などのワイルドカードを使用してドキュメントを検索するために使用されます。単一の文字に一致します。

7 FuzzyQuery

FuzzyQueryは、距離編集アルゴリズムに基づく近似検索であるファジー実装を使用してドキュメントを検索するために使用されます。

8 MatchAllDocsQuery

名前が示すように、MatchAllDocsQueryはすべてのドキュメントに一致します。