質問

Word-、Excelなどのコンテンツをインデックス作成するためにLucene.net 3.0.3を使用しています。ドキュメントと各ドキュメントのいくつかのカスタムフィールド。
名前のフィールドにインデックスを付けた場合 "題名" なので field.index.not_analyzed Lucene-Indexは、フィールドを正しい形で保存しました。ホールタイトルは1つのトークンに保存されます。それが私が欲しいものです。

例えば ドキュメントのタイトルは「Lorem Ipsum Dolor」です
Lucene-Indexのフィールド:「Lorem Ipsum dolor」

このフィールドで正確な検索を使用して検索すると、結果が得られません。
私の検索期は次のように見えます: タイトル:「Lorem Ipsum Dolor」
検索するには、同じ標準分析器を使用しています。

なぜドキュメントを見つけることができないのですか?

役に立ちましたか?

解決

StandardAnalyzer 他の区切り文字の中でも、白人に敏感です。つまり、検索用語を3つのトークンにトークン化します。

( Lorem, ipsum, dolor )

しかし、あなたはフィールドをインデックスしました title 使用 Field.Index.NOT_ANALYZED したがって、上記の3つのトークンは、このフィールドの単一のトークンと一致することはできません。

( Lorem ipsum dolor )

使用する KeywordAnalyzer, 、フィールド値全体を単一のトークンとしてトークン化します。いつものように、インデックス作成と検索の両方に同じアナライザーを使用する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top