Я использую Azure Search, и у меня есть индекс с полем с именем «keywords», который содержит ключевые слова (с типом Collection (Edm.String)), связанные с одним документом. Я хочу иметь возможность использовать нечеткий поиск в своих документах, и, как я понял из ссылки this, все, что мне нужно сделать, это поместить символ «~» в конец моего поискового запроса. Однако, похоже, это не работает в моем случае.Нечеткий поиск по коллекции строк
У меня есть несколько документов в моем индексе, и один из них включает в себя «забаву» в своих ключевых словах. Когда я ищу «запустить» с нечетким поиском, я ожидаю увидеть документы с ключевым словом «run», а также «fun». Если я правильно знаю, расстояние редактирования между «fun» и «run» составляет всего 1, что, по-видимому, является расстоянием по умолчанию, которое использует нечеткий поиск Azure Search. Я делаю что-то неправильно здесь?
Или тип Collection (Edm.String) не поддерживает нечеткий поиск? Атрибуты для «ключевых слов» доступны для поиска, фильтрации и восстановления.
Редактировать: Я использую стандартный анализатор Lucene для поля «keywords». Когда я перешлет запрос
https://fakename.search.windows.net/indexes/fakeindex/docs?api-version=2016-09-01&search=run~
Я бы ожидать, чтобы получить следующий документ как его ключевые слова содержат «весело»
"keywords": [
"balloon",
"message",
"text",
"monster",
"fun",
"evil",
"mad",
"cartoons",
"funny"
]
Какой анализатор вы используете в поле? Нечеткий оператор ~ следует положить в конце поискового запроса. Не могли бы вы поделиться поисковым запросом и одним документом, который должен совпадать? –
@NateKo Я отредактировал вопрос, чтобы включить информацию, которую вы просили. – halileohalilei