У меня есть несколько полей в моей коллекции, которые содержат акцентированные символы, и языки, из которых происходят слова, весьма различны: чешский, немецкий, испанский, финский, венгерский и т. Д. Я заметил это при поиске, например, "Андалусия"msgstr "(обратите внимание на акцентированный i), запрос появляется пустым - однако поиск" Andaluc * "возвращает то, что я ищу.Я нашел this в документации RavenDB и хотел спросить, решит ли мою проблему изменение метода индексации поля с default на точный .
Спасибо!
РЕДАКТИРОВАТЬ: RavenDB, кажется, сбрасывает буквы после И, включая акцентированный символ в поиске.В окне cmd я вижу запрос (который я ввожу из RavenDB Studio как NAME_1:Andalucía
), выходящий как (...)/ByName?term=Andaluc&field=NAME_1&max(...)
Когда я перехожу к терминам индекса, я вижу "andalucía"(строчными!)Определение индекса это просто "select new { NAME_1 = area.NAME_1 }
".Забыл упомянуть, что я все еще на RavenDB 3.5.
Определение индекса:
Map = areas => from area in areas
select new
{
NAME_0 = area.NAME_0,
NAME_1 = area.NAME_1
};
Indexes.Add(x => x.NAME_1, FieldIndexing.Analyzed);
//Analyzers.Add(x => x.NAME_1, typeof(StandardAnalyzer).FullName);
Закомментированная строка не работает, потому что тип StandardAnalyzer не разрешается в моем проекте VS2017,Я в настоящее время смотрю, как получить либо DLL или правильный , используя заявление.Запрос об Андалусии в кавычках приводит к отправке «правильного запроса» в Raven: (...)/ByName?term=Andalucía&field=NAME_1&max=5(...)
- но не дает результатов.
ДОПОЛНИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ: Обнаружен dll Lucene, включен в проект, использован анализатор StandardAnalyzer и анализатор - тот же результат (результатов не найдено).
В RavenDB 4 это выглядит исправленным.Мех