Я создал индекс с полем Edm.String. Согласно документу строка по умолчанию имеет тип NULL. Тем не менее, когда я пытаюсь проиндексировать объект json со свойством, равным нулю, это дает мне исключение:
Запрос недействителен. Подробности: параметры: Обнаружено нулевое значение с ожидаемым типом 'Edm.String [Nullable = False]'. Ожидаемый тип Edm.String [Nullable = False] не допускает нулевые значения.
Один дополнительный вопрос заключается в том, что при поиске, как провести различие между [field is null] и [field eq '']?
Я использую конечную точку Rest для публикации данных, используя версию API "2017-11-11-Preview", так как мы используем некоторые из новых функций.
Полезная нагрузка для создания индекса примерно такая:
PUT https://***.search.windows.net//indexes/acmnotificationindex?api-version=2017-11-11-Preview HTTP/1.1
Content-Type: application/json; charset=utf-8
{
"name": "index",
"fields": [
{
"name": "TestId",
"type": "Edm.Int64"
},
{
"name": "TestTitle",
"type": "Edm.String"
}]
}
И полезная нагрузка http для se в индекс - это просто json с {TestTitle:null}