Поиск с помощью StartsWith в Azure Search - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть сценарий, в котором я должен искать поставщиков, используя имена поставщиков, используя поиск Azure.Ниже приведен список поставщиков.

  1. Infosys Technologies Limited
  2. Infosys BPM Limited
  3. Infor Solution
  4. Infosys Corporate Technologies
  5. Dell Computers
  6. Первые инфосистемы

Мой сценарий поиска -

  1. , когда Searchtext - Информация , должно возвращаться 1,2,3,4
  2. , когда Searchtext равен Infosys , должен возвращать 1,2,4
  3. , когда Searchtext равен Infosys Tech , должен возвращаться только1 not 4

Я также пробовал анализатор ключевых слов в поле «Имя поставщика», и он также не дает ожидаемого результата.По сути, я хочу, чтобы поисковый текст выполнял поиск с начала поля «Имя поставщика» (начинается с), а не по каждому слову (Standard.Lucene Analyzer выполняет поиск по каждому слову) «Имя поставщика отдельно».

Не могли бы вы, пожалуйста, помочь мне в этом случае о том, как сформулировать мой запрос.

1 Ответ

0 голосов
/ 03 декабря 2018

Оба Простой синтаксис запроса и Синтаксис запроса Lucene поддерживает поисковые запросы с префиксом, такие как "префикс *", и находит документы, содержащие термины, начинающиеся с запроса с префиксом.

Таким образом, вы можете попробовать что-то вроде search=info*"&searchmode=all или search=infosys tech*&searchmode=all, и оно должно работать.

Если вам нужны еще более сложные регулярные выражения, такие как поиск, вы можете обратиться к Регулярное выражениепоиск

...