Поисковый запрос для пустого поля \ null в поиске Azure - PullRequest
2 голосов
/ 14 апреля 2020

Привет У меня есть строковое поле, которое может быть пустым \ null для определенных документов. Мне нравится знать, как искать эти документы.

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

  1. поиск пустого \ null в это поле A
  2. ищет подстроку в этом поле A (например: A: test)
  3. ищет как пустое \ null, так и значения, содержащие test.

Итак Предложения ODataFilter не помогут в достижении # 2, поэтому # 1 должен использовать searchQuery.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 20 апреля 2020

Вы можете фактически комбинировать фильтры OData с поисковыми запросами, используя функции search.ismatch или search.ismatchscoring . Эти функции позволяют встраивать полнотекстовые поисковые запросы в фильтр, который позволит вам обращаться ко всем вашим сценариям ios:

  1. $filter=A ne null
  2. $filter=A ne null and search.ismatchscoring('A:test', null, 'full', null) или эквивалентно , $filter=A ne null&search=A:test&queryType=full
  3. $filter=A eq null or search.ismatchscoring('A:test', null, 'full', null) - это может быть достигнуто только с фильтрами и search.ismatch / search.ismatchscoring из-за оператора "или".

Фильтр A ne null в случае 2, приведенном выше, на самом деле является избыточным, поскольку нулевые значения не соответствуют ни одному полнотекстовому поисковому запросу, но в случае 3, где требуется сопоставить нулевые значения, фильтры являются способом сделать это.

...