2013-06-27 5 views
1

Мы новичок в поиске эластичности и NEST.NEST elasticsearch -C# - чувствительный к регистру Поиск

Мы пытаемся сделать поиск с учетом регистра с помощью C# client - NEST. Мы читали много сообщений, но не могли понять. Кто-то может нам помочь с подробными пошаговыми инструкциями.

Любая помощь будет высоко оценена.

Thanks, VB.

+0

Некоторые кода на том, что вы пытались бы помочь сделать старт. –

ответ

4

Я знаю, что это старая проблема, но я наткнулся на нее в моих исследованиях. Итак, вот мой ответ.

Во-первых, переход на запрос TERM не помог. Узнав больше о том, как работает ElasticSearch по умолчанию, я понимаю, почему.

По умолчанию ElasticSearch: не чувствителен к регистру. Когда документы индексируются, анализатор по умолчанию уменьшает все строковые значения и сохраняет значения нижнего регистра для будущих поисков. Это не влияет на значения, хранящиеся в самих документах, но нижняя шкала влияет на поиск.

Если вы используете анализатор по умолчанию, то ваши условия поиска для строковых значений должны быть строчными.

Прежде чем я узнал, как это сработало, я потратил немало времени на изучение значения поля смешанного случая в индексированном документе, а затем выполнил поиск с термином запроса, который использовал одно и то же значение смешанного случая. Нулевые результаты. Только после того, как я заставил значение, которое мой запрос использовал для всех строчных букв, я начал получать результаты.

Вы можете прочитать больше о ElasticSearch анализаторы здесь: ElasticSearch - Analysis

+0

.. и почему, черт возьми, это не объясняется в документации Nest? (то же самое произошло здесь: /) –