#azure-cognitive-search
#azure-cognitive-search
Вопрос:
Я пытаюсь обновить индекс поиска (с помощью индексатора обновления), отправив запрос PUT https://searchservicename.search.windows.net/indexes/indexName?api-version=2017-11-11
, и он не работает.
Если я отправлю точно такой же запрос со списком полей, запрос будет выполнен должным образом, и я получу 200. Как только я пытаюсь добавить fieldMappings
, я получаю сообщение об ошибке.
Мой Json я добавляю в запрос как «application / json»:
{
"name": "indexName",
"fields": [
<List of Valid Fields w/ Valid Types>
],
"fieldMappings": [
{
"sourceFieldName": "fieldName",
"targetFieldName": "fieldName",
"mappingFunction": {
"name": "base64Encode"
}
}
]
}
При вызове API я получаю ошибку:
{Search request failed: {"error":{"code":"","message":"The request is invalid. Details: index : A resource without a type name was found, but no expected type was specified. To allow entries without type information, the expected type must also be specified when the model is specified.rn"}}
Я ожидаю, что запрос вернет 200 и добавит сопоставление полей.
Ошибка, которую я получаю, похоже, связана со списком полей, но, как упоминалось ранее, запрос работает, как и ожидалось, с тем же телом, за вычетом сопоставлений полей.
Дайте мне знать, если вам понадобится какая-либо другая информация от меня — спасибо.
Ответ №1:
Сопоставления полей должны добавляться в индексатор, а не в индекс. На основании вашего запроса вы пытаетесь обновить индекс.
Комментарии:
1. Ах, спасибо. Я знал, что это должно быть что-то очевидное, чего мне не хватает. Теперь перейдем к индексаторам