0
私たちのコードではLucene v3.6を使用しています。最初にデータを索引付けし、Lucene検索を使用して用語を検索します。ルシールを使って私は、橋本のような用語を索引付けするとき、アポストロフィで索引付けされることを確かめました(得られた結果から橋本を検索すると、対応するフィールド値に橋本のアポストロフィが含まれていることがわかります)私は橋本(でもルーク)を検索したとき、私は戻ってフィールドのいずれかの結果を得ることはありません。例えば、両方のケースでLucene 3.6 +アポストロフィで用語を検索する際の問題
+names.name:hashimoto (works and returns multiple results some which have Hashimoto's as a term)
+names.name:hashimoto's (does not work - no results)
私は私が理解からなしでアポストロフィを処理すべきStandardAnalyzerを使用しています
私のコードでは、StandardAnalyzerを使用しています。私は、tokenStreamメソッドを使ってStandardAnalyzerからトークンを取得し、それを使ってクエリを構築します。例えば、いくつかの研究からhttp://stackoverflow.com/questions/1190699/storing-words-with-apostrophein-lucene-index私は、アポストロフィがStandardAnalyzerを使用してネイティブにサポートされるべきであると理解します。それでもそうは思わない。私が言及したように、Lukeを使ってインデックスを検索し、StandardAnalyzerを選択した場合も、役に立たなかった。 – user1111871