Я знаю, что это старый вопрос, но я столкнулся с ним в своем исследовании. Итак, вот мой ответ.
Во-первых, переход на запрос TERM не помог. Узнав больше о том, как ElasticSearch работает по умолчанию, я понял, почему.
По умолчанию ElasticSearch нечувствителен к регистру. Когда документы индексируются, анализатор по умолчанию переводит все строковые значения в нижний регистр и сохраняет значения в нижнем регистре для будущих поисков. Это не влияет на значения, хранящиеся в самих документах, но нижний регистр влияет на поиск.
Если вы используете анализатор по умолчанию, все условия поиска для строковых значений должны быть строчными.
Прежде чем я узнал, как это работает, я провел довольно много времени, просматривая значение поля смешанного регистра в проиндексированном документе, а затем выполняя поиск по термину запроса, в котором использовалось то же значение смешанного регистра. Нулевой результат. Только после того, как я перевел значение, которое использовал мой запрос, в нижний регистр, я начал получать результаты.
Подробнее об анализаторах ElasticSearch можно прочитать здесь: ElasticSearch — Analysis
person
AggieEric
schedule
24.12.2014