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 フィールドを検索できない理由を誰か説明してもらえますか?