ApacheLuceneインデックスを使用して検索しようとしています。そのために、パスを表示しているフィールドfilepathにLuceneインデックスを作成しましたが、分析されていません。
現在、分析されていないフィールドを検索できません。分析されていないフィールドを検索することは可能ですか。または、分析中に保存される単語の分割を停止する方法はありますか。
分析されていないフィールド クエリを検索することはできますが、フィールド値が検索語と完全に等しい場合にのみ一致します。前述のように、そのためにはフレーズクエリを使用する必要があります。
そのフィールドを検索する場合は、そのフィールドを分析してドキュメントのインデックスを再作成する必要があります。
既存のアナライザー/トークナイザーを使用してみるか (たとえば、IndexWriter を作成するときに StandardAnalyzer を設定する)、またはファイル セパレーターを区切り文字として使用してファイル パスをトークンに分割する独自のものを実装できます。
興味がある場合は、Solr の PathHierarchyTokenizerFactory があり、階層パスをトークンに分割してから格納してからインデックス付けし、ファイル パスの検索をはるかに簡単にします。
分析されていないフィールドで検索することはできますか
分析されていないフィールドを検索するには、句クエリを使用する必要があります。
または、分析中に保存される単語の分割を停止する方法はありますか
わかりません。フィールドが分析されない場合、それは分割されず、そのまま保存されます。あなたの質問を明確にすることができますか?