Как автоматически обновить источник данных и индекс для представления в Поиске Azure

Как я могу обновить существующий источник данных, созданный из представления Azure SQL. Какие шаги мне нужно выполнить один раз при работе с лазурным поиском для представления базы данных.

Мой источник данных и индекс должны быть обновлены, как только мое представление получит обновления.


person Champ    schedule 20.11.2017    source источник


Ответы (1)


Предполагая, что под «обновлением представления» вы подразумеваете добавление дополнительных столбцов в предложение SELECT:

  • Вам не нужно обновлять источник данных, пока вы не изменили имя представления или учетные данные.
  • Вам нужно будет добавить новые поля в определение индекса. Это не происходит автоматически. Как только вы добавите новые поля в схему индекса, индексатор начнет заполнять эти поля для вновь проиндексированных строк. Чтобы заполнить документы, которые уже были проиндексированы, сбросьте индексатор (на портале или с помощью Reset Indexer API).
person Eugene Shvets    schedule 20.11.2017
comment
Спасибо за быстрый ответ, все работает. https: // {SearchName} .search.windows.net / indexers / IndexerName / reset? api-version = 2016-09-01) с успешным кодом 204 (Нет содержимого). Но любая идея, сколько времени требуется, чтобы количество документов было 150 (это представление). И лучший способ сократить время перезагрузки индексатора. - person Champ; 20.11.2017
comment
Сколько времени занимает индексация? Это зависит от расписания вашего индексатора - индексация не в реальном времени. Однако вы можете запустить индексатор по запросу после обновления представления. См. Раздел Run Indexer API. - person Eugene Shvets; 20.11.2017
comment
Удивительно, но https: // {SearchName} .search.windows.net / indexers / {IndexerName‌} / reset? Api-version = 2‌ 016-09-01) не работает постоянно. после некоторых изменений в таблице (эти изменения будут отражены в целевом представлении), когда я снова сбрасываю индексатор, счетчик документов не обновляется. Я что-то упускаю. - person Champ; 20.11.2017
comment
Сам Reset не выполняет индексацию - он просто очищает состояние отслеживания изменений, чтобы в следующий раз, когда индексатор запускается (либо по расписанию, либо по требованию, когда вы вызываете Run API), он будет переиндексировать с нуля. - person Eugene Shvets; 20.11.2017
comment
Привет, Евгений! Когда мы снова запускаем индексатор, он захватывает только добавленные и измененные строки, но не удаляет строки из представления. Мое предположение состоит в том, что когда я выполняю принудительный запуск с использованием rest API, просмотр снова запускается и фиксирует все добавленные, измененные и удаленные строки. Это действительно сбивает с толку. - person Champ; 21.11.2017