Анализатор поиска Azure не соответствует другому времени слова

Я использую следующее определение своего поля поиска в индексе, по которому выполняется поиск

 new Field("Description", DataType.String, AnalyzerName.EnMicrosoft),

используя английский анализатор текста Microsoft, однако он, похоже, не соответствует словам, как я ожидал. При поиске по этому полю со словом «нарезанный» поиск Azure не возвращает такие результаты, как «фрагмент», «фрагменты». Точно так же при поиске слова во множественном числе, такого как «вишня», форма единственного числа «вишня» не возвращается, и наоборот. Только в тех случаях, когда при добавлении 's' возвращаются формы множественного числа, но это произойдет независимо от того, «dog» вернет «dog», «dogs» или «doggie», потому что «dog» - это просто префикс каждого слова.

Есть ли специальный параметр, который нужно передать в поисковый вызов, чтобы «активировать» текстовый анализатор?


person srfigie    schedule 18.11.2016    source источник


Ответы (1)


Похоже, что вы вводите префиксные поисковые запросы. Поисковые запросы с подстановочными знаками, такие как search = test * или search = te? T, не проходят лексический анализ в Поиске Azure. Если вы действительно отправляете запросы с подстановочными знаками, один из способов обойти эту проблему - выполнить поисковый запрос по префиксу с обычным поисковым запросом, например search = срезы срезов *.

Нейт

person Nate Ko    schedule 18.11.2016