「-」文字を含むインデックス付き単語を含む Lucene インデックスで問題が発生しています。
「-」を含む一部の単語では機能しますが、すべてでは機能しません。機能しない理由がわかりません。
私が検索しているフィールドが分析され、「-」文字の有無にかかわらず単語のバージョンが含まれています。
私はアナライザーを使用しています: org.apache.lucene.analysis.standard.StandardAnalyzer
ここに例があります:
「gsx-*」を検索すると、結果が得られました。インデックス付きフィールドには「SUZUKI GSX-R 1000 GSX-R1000 GSXR」が含まれています。
しかし、「v-*」を検索しても結果は得られませんでした。期待される結果のインデックス付きフィールドには、「SUZUKI DL 1000 V-STROM DL1000V-STROMVSTROM V STROM」が含まれます。
「*」なしで「v-strom」を検索すると機能しますが、たとえば「v-str」だけを検索すると結果が得られません。(ネットショップのライブ検索用なので結果はあるはず)
では、2 つの期待される結果の違いは何でしょうか? 「gsx- 」では機能するのに「v-」では機能しないのはなぜですか?