У меня есть файл в хранилище больших двоичных объектов folder/new/data.json
Содержит массив json.
[
{
"name": "a",
"data": {
"1":"something1",
"2":"something2"
}
},
{
"name": "b",
"data": {
"1":"something1",
"2":"something2"
}
}
]
мое тело источника данных:
{
"name" : "datasource",
"type" : "azureblob",
"credentials" : { "connectionString" : "MyStorageConnStrning" },
"container" : { "name" : "mycontaner", "query" : "folder/new" }
}
мое тело индекса:
{
"name" : "index",
"fields": [
{ "name": "id", "type": "Edm.String", "key": true, "searchable": false },
{ "name": "name", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": true},
{ "name": "data", "type": "Edm.String", "searchable": false}
]
}
тело индексатора:
{
"name" : "indexer",
"dataSourceName" : "datasource",
"targetIndexName" : "index",
"parameters" : { "configuration" : { "parsingMode" : "jsonArray" } }
}
при создании я могу искать a
и b
и получать результат.
теперь я изменил folder/new/data.json
to
[
{
"name": "aa",
"data": {
"1":"something1",
"2":"something2"
}
}
]
только что запущенный индексатор только перезаписывает
{
"name": "a",
"data": {
"1":"something1",
"2":"something2"
}
}
, но
{
"name": "b",
"data": {
"1":"something1",
"2":"something2"
}
}
все еще остается.Значение b
по-прежнему доступно для поиска.
Что я могу сделать, чтобы удалить b
?
Более важно Что делать, когда файл источника данных изменяется и данные индекса должны быть измененысоответственно?Удаленные данные из источника данных должны быть удалены из индекса, а новые данные в источнике данных должны быть проиндексированы.