Согласно ниже статей,Как работает автоматическая индексация/синхронизация базы данных Azure SQL с использованием Azure Search?
и
Azure поиск будет автоматически синхронизировать/обновлять измененные строки из таблицы SQL и обновления же в индексе Azure Поиск , Но когда я обновляю исходную таблицу, это никак не влияет на мой индекс поиска Azure.
Может ли кто-нибудь уточнить, что делает автоматическая индексация/синхронизация базы данных Azure SQL с помощью Azure Search?
Примечание: строго следуйте инструкциям, приведенным в статье.
Datasource
POST https://servicename.search.windows.net/datasources?api-version=2015-02-28 апи ключ: <> Content-Type: применение/JSON
{ "имя": "myazuresqldatasource", "типа": "azuresql" , «учетные данные»: {«connectionString»: «Server = tcp: xxxxyyyy.database.windows.net.database.windows.net, 1433; Database = dvdlist; User ID = aaaabbbb; Password = aaaaabbbbb; Trusted_Connection = True; Шифрование = False; Время ожидания подключения = 30; "}, "container": {"name": "dvdlist"}, "dataChangeDetectionPolicy": {"@ odata.type": "# Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy", "highWaterMarkColumnName": "id"}, " dataDeletionDetectionPolicy»: { "@ odata.type": "# Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy", "softDeleteColumnName": "IsDeleted", "softDeleteMarkerValue": "истина"}}
Индексатор
POST https://servicename.search.windows.net/indexers?api-version=2015-02-28 api-key: <> Тип контента: application/json
{ "имя": "myazuresqlindexer", "DataSourceName": "myazuresqldatasource", "targetIndexName": "sqlazureindex" }
Вы используете SQL DB v12?Моя догадка заключается в том, что эта функция требует отслеживания изменений в базах данных, которые поддерживаются только в V12. В противном случае вам необходимо убедиться, что ваша политика обнаружения изменений в области высоких вод правильная. –
Привет, Ильяс, Сириша верна. Интегрированная политика отслеживания изменений включена только для баз данных SQL DB v12. Если вы используете политику с водяными знаками, вам необходимо убедиться, что столбец, выбранный вами как знак высокой воды, фактически имеет соответствующую семантику (колонка rowversion является хорошим кандидатом для столбца с высокой отметкой воды). –
Привет, Евгений, извините за задержанный ответ. Я попробовал это только на SQL DV v12, а также в политике High Watermark и SoftDeleteColumnDeletionDetectionPolicy, но не повезло. Я отредактировал свой вопрос, чтобы включить фрагменты json индексатора и источника данных. Пожалуйста, обратитесь! –