Проблема с кодировкой NEST?

Я подозреваю, что при использовании NEST+ElasticSearch символы, требующие специальной кодировки, обрабатываются неправильно. Пример: это не возвращает никаких результатов

var results = 
client.Search<MyClass>(s => s.Query(q => q.Term(t => t.ProgrammingLanguage, "C#")));

но отлично работает после замены «C#», например, на «Ruby». Глядя на индекс, должны быть результаты для обоих поисков.

Известная проблема? Есть ли обходной путь?


person Max♦    schedule 16.04.2013    source источник


Ответы (1)


Это не проблема с кодировкой, а более или менее то, как работает lucene и эластичный поиск через прокси.

Анализатор по умолчанию будет разбивать слова, поэтому C# станет просто 'c'. Посмотрите на анализаторы elasticsearch, чтобы ваши полевые данные хранились так, как если бы вы использовали что-то вроде анализатора ключевых слов.

см. http://www.elasticsearch.org/guide/reference/index-modules/analysis/ для получения дополнительной информации

person Martijn Laarman    schedule 25.04.2013