Будут ли поисковые фильтры Azure выполнять приведение типов? - PullRequest
0 голосов
/ 26 декабря 2018

Специально для логического значения будет ли запрос фильтра поиска Azure выполнять приведение типов?Каждое фильтруемое значение, которое пользователь может выбрать для своего поиска в моем приложении, является строковым значением.При создании запроса OData мне не нужно выполнять логику, чтобы проверять это одно логическое значение, чтобы соответствующим образом корректировать строку запроса, когда дюжина других значений является просто строками.Я просто хочу иметь возможность заключать каждое отдельное значение в одну кавычку, логика в этом случае более проста, в отличие от упаковки значений в одинарные кавычки для всего, кроме логических значений и т. Д.

Я неУ меня есть средства для проверки этого во время создания нашего индекса, но я пишу наш код на стороне клиента для подготовки к тому моменту, когда он существует.

Итак, например, допустим, у меня есть логический флаг под названием "isDeleted ", который указывает, была ли запись в моей базе данных" sudo "удалена или нет, которая добавляется в мой поисковый индекс.Если я добавлю следующий фильтр к своему сообщению полезной нагрузки в Поиске Azure, получу ли я записи о том, что это значение истинно:

... "filter": "isDeleted eq 'true'" ...

Обратите внимание, что я оборачиваю "истинное" значение водинарные кавычки, указывающие, что это может быть строка.Будет ли поисковая система Azure выполнять приведение типов к этому и возвращать записи, или это только действительный фильтр

... "filter": "isDeleted eq true" ...

Спасибо!

1 Ответ

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

Поиск Azure поддерживает только преобразования типов, определенные в стандарте OData.В частности, поддерживается расширение числовых преобразований, поэтому вы можете сравнить, например, double с целым числом.Поиск Azure не допускает каких-либо автоматических преобразований в или из строк в выражениях фильтра.

...