Lucene-fuzzyquery
Lucene-FuzzyQuery
FuzzyQueryは、編集距離アルゴリズムに基づいた近似検索であるファジー実装を使用してドキュメントを検索するために使用されます。
クラス宣言
以下は org.apache.lucene.search.FuzzyQuery クラスの宣言です-
フィールド
以下は、FuzzyQueryのフィールドです-
- static int defaultMaxExpansions
- static float defaultMinSimilarity
- static int defaultPrefixLength *保護期間
クラスコンストラクター
次の表は、さまざまなクラスのコンストラクタを示しています-
S.No. | Constructor & Description |
---|---|
1 |
FuzzyQuery(term、0.5f、0、Integer.MAX_VALUE)を呼び出します |
2 |
FuzzyQuery(Term term, float minimumSimilarity) FuzzyQuery(term、minimumSimilarity、0、Integer.MAX_VALUE)を呼び出します |
3 |
FuzzyQuery(Term term, float minimumSimilarity, int prefixLength) FuzzyQuery(term、minimumSimilarity、prefixLength、Integer.MAX_VALUE)を呼び出します |
4 |
FuzzyQuery(Term term, float minimumSimilarity, int prefixLength, int maxExpansions) 少なくとも用語との類似性が最小の類似性を持つ用語に一致する新しいFuzzyQueryを作成します |
クラスメソッド
次の表は、さまざまなクラスメソッドを示しています-
S.No. | Method & Description |
---|---|
1 | *boolean equals(Object obj) * |
2 |
使用する列挙を構築し、パターン用語を展開します。 |
3 |
float getMinSimilarity() このクエリが一致するために必要な最小の類似性を返します。 |
4 |
int getPrefixLength() 非ファジープレフィックス長を返します。 |
5 |
Term getTerm() パターン用語を返します。 |
6 | *int hashCode() * |
7 |
クエリを文字列に出力します。フィールドはデフォルトフィールドと見なされ、省略されます。 |
継承されるメソッド
このクラスは、次のクラスからメソッドを継承します-
- org.apache.lucene.search.MultiTermQuery
- org.apache.lucene.search.Query
- java.lang.Object
使用法
応用例
FuzzyQueryを使用して検索をテストするためのテストLuceneアプリケーションを作成しましょう。
Step | Description |
---|---|
1 | Create a project with a name LuceneFirstApplication under a package com.finddevguides.lucene as explained in the Lucene - First Application chapter. You can also use the project created in Lucene - First Application chapter as such for this chapter to understand searching process. |
2 | Create LuceneConstants.java and Searcher.java as explained in the Lucene - First Application chapter. Keep rest of the files unchanged. |
3 | Create LuceneTester.java as mentioned below. |
4 | Clean and Build the application to make sure the business logic is working as per the requirements. |
LuceneConstants.java
このクラスは、サンプルアプリケーション全体で使用されるさまざまな定数を提供するために使用されます。
Searcher.java
このクラスは、未加工データで作成されたインデックスを読み取り、Luceneライブラリを使用してデータを検索するために使用されます。
LuceneTester.java
このクラスは、Luceneライブラリの検索機能をテストするために使用されます。
データおよびインデックスディレクトリの作成
record1.txtからrecord10.txtまでの10個のテキストファイルを使用して、学生の名前やその他の詳細を含め、* E:\ Lucene \ Data。* link:/lucene/data.zip [Test Data]ディレクトリに配置しました。 インデックスディレクトリパスは、 E:\ Lucene \ Index として作成する必要があります。 Lucene-Indexing Process の章でインデックス作成プログラムを実行すると、そのフォルダで作成されたインデックスファイルのリストを見ることができます。
プログラムを実行する
ソース、生データ、データディレクトリ、インデックスディレクトリ、インデックスの作成が完了したら、プログラムをコンパイルして実行することで続行できます。 これを行うには、 LuceneTester.Java ファイルタブをアクティブのままにし、Eclipse IDEで使用可能な実行オプションを使用するか、 Ctrl + F11 を使用して* LuceneTester *アプリケーションをコンパイルおよび実行します。 アプリケーションが正常に実行されると、Eclipse IDEのコンソールに次のメッセージが出力されます-