Как происходит инкрементная индексация для новых данных в источнике данных? - PullRequest
0 голосов
/ 21 января 2019

хранилище больших двоичных объектов имеет большие двоичные объекты, такие как new/1.json, new/2.json

У меня есть индекс с именем new-index, индексатор с именем new-indexer и источник данных с именем new-datasource мое тело данных выглядит следующим образом:

{
    "name" : "new-datasource",
    "type" : "azureblob",
    "credentials" : { "connectionString" : "MyStorageConnStrning" },
    "container" : { "name" : "mycontaner", "query" : "new" }
}  

"query" : "new" означает, что при работе индексатора он будет принимать все большие двоичные объекты из виртуального каталога new из хранилища больших двоичных объектов.

Запуск индексатора имеет время начала и время окончания.И я знаю, что индексатор выполняет пошаговую индексацию на основе свойства lastModified большого двоичного объекта ( doc ).

Вопрос заключается в том, находится ли между временем начала и временем запуска индексатора, если в виртуальном каталоге new создается новый большой двоичный объект, такой как new/3.json, будет ли этот двоичный объект индексироваться при выполнении этого индексатора или выполняет другоедля его индексации необходимо выполнить run.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Вопрос заключается в том, находится ли между временем начала и временем запуска индексатора, если новый виртуальный каталог создается как новый / 3.json в виртуальном каталоге new, будет ли этот BLOB-объект проиндексирован этим прогоном индексатора или выполняет другойДля его индексации необходимо выполнить run.

Ответ немного сложнее, чем то, что сказал Джои.Поскольку индексатор индексирует большие двоичные объекты, перечисляя их на страницах, новый большой двоичный объект, даже с обновленной отметкой времени, может или не может быть захвачен индексатором в зависимости от страницы, на которой он размещен.

Только индексатор гарантируетобеспечивает -

  • Индексатор будет индексировать все BLOB-объекты с LastModified отметкой времени перед временем запуска индексатора , точно в том же прогоне.
  • Инкрементальные изменения будут в конечном итоге будет проиндексирован из-за политики обнаружения изменений данных.Это означает, что они могут или не могут быть проиндексированы в одном и том же сеансе.

Не рекомендуется делать какие-либо предположения после верхнего водяного знака, и когда новый BLOB-объект индексируется, это технически неопределенное поведение.

Оформите эту статью для более подробной информации.Надеюсь, это поможет.

0 голосов
/ 22 января 2019

будет ли этот BLOB-объект также проиндексирован этим прогоном индексатора, или потребуется другой прогон для его индексации.

Короче, yes .Он будет проиндексирован этим индексатором из-за dataChangeDetectionPolicy .

При использовании источников данных BLOB-объектов Azure Поиск автоматически использует политику обнаружения изменения водяного знака на основе BLOB-объекта.last-modified отметка времени.С верхним водяным знаком , вы можете использовать его для обнаружения инкрементных изменений, выбирая только те строки, содержащие новое или измененное содержимое .

Для получения дополнительной информации вы можете обратиться кэто статья .

...