Расширьте Azure Поля поиска с помощью индексатора Cosmos DB - PullRequest
0 голосов
/ 13 января 2020

У меня есть несколько типов документов Cosmos DB, которые объединены в один Azure Индекс поиска.

Для каждого типа документа у меня есть пара источник данных + индексатор. Это автоматически сгенерированная пара, которая сопоставляет поля документа Cosmos DB с индексом.

Я столкнулся с проблемой: я создал новый индексатор + источник данных для нового типа документа. Я вижу, что индексатор завершил индексацию. Но мой индекс не содержит новых полей. И я даже не могу добавить новое поле вручную, которое будет содержать данные, добавленные индексатором.

Основываясь на docs , можно добавить новое поле без перестройки индекса. Но не ясно, как именно это можно сделать

1 Ответ

0 голосов
/ 14 января 2020

Какую проблему вы видите, когда пытаетесь добавить новое поле индекса вручную? Вы должны иметь возможность добавить новое поле в определение индекса с помощью нового поля через REST или интерфейс портала.

Через портал: перейдите к службе поиска, выберите соответствующий индекс из списка, нажмите «Поля» "вкладка и нажмите" Добавить поле ". Новое поле должно отображаться внизу индексной сетки, и вы сможете редактировать атрибуты / имя / тип поля.

Через REST: у вас есть правильная ссылка на операцию обновления. Вы можете выполнить GET для существующего определения индекса и добавить новое поле в массив «fields» перед использованием PUT для обновления. Ваше новое поле индекса JSON должно быть похоже на другие поля индекса, например:

"fields": [
...,
{
    "name": "new field",
    "type": "Edm.String",
    "facetable": false,
    "filterable": false,
    "key": false,
    "retrievable": true,
    "searchable": true,
    "sortable": false,
    "analyzer": "standard.lucene",
    "indexAnalyzer": null,
    "searchAnalyzer": null,
    "synonymMaps": [],
    "fields": []
}
]

Вот ссылка do c на определение индекса JSON .

Обязательно установите атрибуты поля индекса (Filterable, Sortable, Searchable ...) при создании нового поля, поскольку не все атрибуты могут быть добавлены без перестройки индекса. Только извлекаемые, searchAnalyzer и synonymMaps могут быть изменены в существующее поле.

...