1

StandardAnalyzer を使用してインデックスを作成しました。このインデックスにはいくつかのフィールドがあります。例として、ID と Type があるとします。どちらも NON_ANALYZED です。つまり、そのまま検索することしかできません。

私のインデックスにはいくつかのエントリがあります:

 {Id: "1", Type: "Location"},
 {Id: "2", Type: "Group"},
 {Id: "3", Type: "Location"}

+Id:1またはその他の数値を検索すると、適切な結果が得られます (再び StandardAnalyzer を使用)。

ただし、+Type:Locationまたはを検索し+Type:Groupても、結果が得られません。奇妙なことに、先頭のワイルドカードを有効にすると、+Type:*ocation結果が返されます! +Type:*Locationまたは他の組み合わせはしません。

これにより、インデクサー/クエリが大文字を好まないと信じるようになりました! Type を小文字に変換した後、locationインデックスgroupを作成する前に、そのように検索できました。

Type-field を ANALYZED にすると、ほぼすべての検索 (大文字/小文字など) で機能しますが、Type-field をそのまま照会したいと考えています。

なぜこれをしているのか、私は完全に困惑しています。インデクサーで、値に大文字が含まれる NON_ANALYZED フィールドを検索できない理由を誰か説明してもらえますか?

4

1 に答える 1