У нас есть лазурное веб-приложение, в котором есть одно окно поиска, когда мы вводим текст с двойными кавычками, такими как «Служба приложений», он записывает записи с помощью «Службы приложений», однако он также включает записи, имеющие специальные символы между словами типа «App/Service». Мы хотим, чтобы поисковая система возвращала записи, которые точно соответствуют поисковой фразе (не включайте записи, содержащие специальные символы между условиями поиска).Azure Search, точное совпадение фразы
ответ
В этом случае вы хотите проиндексировать все содержимое поля в виде одного токена. Взгляните на Custom Analyzers in Azure Search и анализатор keyword
, в частности.
В вашем случае standard
анализатор разбивает термин App/Услуги на два отдельных слагаемых приложение и услуг во время индексации. Вот почему фраза «Служба приложений» соответствует документу с App/Service - обе версии выглядят одинаково с поисковой системой.
Если термин App/Service составляет полноту содержания поля, вы можете индексировать содержимое этого поля в качестве одного маркера с помощью keyword
анализатора. Подробнее читайте здесь: Custom Analyzers in Azure Search.
Анализатор keyword
не будет хорошим вариантом, если термин App/Service встречается как часть предложения. В этом случае вы можете заменить символ /
другим символом, который не делится на токенизатор standard
, например: _
. Используйте маркер фильтр в mappping
символов для этого:
charFilters: [
{
"name":"map_char_mapping",
"@odata.type":"#Microsoft.Azure.Search.MappingCharFilter",
"mappings":[ "/=>_" ]
}
]
Следующая запись поможет вам понять, как лексический анализаторы применяются при поиске и индексации времени: How to practially use a keywordanalyzer in azure-search?
- 1. whoosh точное совпадение для фразы
- 2. Поиск в спящем режиме: точное совпадение фразы
- 3. Как получить точное совпадение фразы из поиска Graph API
- 4. Точное совпадение в SOLR
- 5. topsy otter api: точное совпадение фразы (несколько слов)
- 6. Elasticsearch Приставка Точное совпадение
- 7. Excel Точное совпадение слов
- 8. Точное совпадение, то частичное совпадение
- 9. Jquery DataTable точное совпадение
- 10. Azure Search - точное совпадение как с первым, так и с одним результатом
- 11. perl точное совпадение строк
- 12. Точное совпадение регулярных выражений
- 13. Mysql REGEXP точное совпадение
- 14. Точное совпадение с AWK
- 15. Точное совпадение в capybara
- 16. SphinxSearch точное совпадение рейтинга
- 17. Точное совпадение регулярного выражения
- 18. MySQL, где точное совпадение
- 19. Точное совпадение строк
- 20. PHP Preg_match точное совпадение
- 21. Точное совпадение углового фильтра
- 22. Ruby точное совпадение строк
- 23. Точное совпадение регулярных выражений
- 24. Searchkick/Elasticsearch точное совпадение
- 25. Sphinx ошибка точное совпадение
- 26. QUERY_STRING точное совпадение
- 27. Elasticsearch точное совпадение поле
- 28. Точное совпадение SQL
- 29. Greping точное совпадение/подстрока
- 30. Elasticsearch точное совпадение pharse
Привет @Eugene, спасибо за ответ, не существует способ игнорировать записи, содержащие специальные символы между ними, пользовательский анализатор не представляется возможным. – harshu288