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はすべてのドキュメントに一致します。 |