2015-07-26 3 views
3

Согласно ниже статей,Как работает автоматическая индексация/синхронизация базы данных Azure SQL с использованием Azure Search?

http://feedback.azure.com/forums/263029-azure-search/suggestions/6540846-auto-indexing-of-azure-sql-db

и

https://azure.microsoft.com/en-us/documentation/articles/search-howto-connecting-azure-sql-database-to-azure-search-using-indexers-2015-02-28/

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" }

+1

Вы используете SQL DB v12?Моя догадка заключается в том, что эта функция требует отслеживания изменений в базах данных, которые поддерживаются только в V12. В противном случае вам необходимо убедиться, что ваша политика обнаружения изменений в области высоких вод правильная. –

+0

Привет, Ильяс, Сириша верна. Интегрированная политика отслеживания изменений включена только для баз данных SQL DB v12. Если вы используете политику с водяными знаками, вам необходимо убедиться, что столбец, выбранный вами как знак высокой воды, фактически имеет соответствующую семантику (колонка rowversion является хорошим кандидатом для столбца с высокой отметкой воды). –

+0

Привет, Евгений, извините за задержанный ответ. Я попробовал это только на SQL DV v12, а также в политике High Watermark и SoftDeleteColumnDeletionDetectionPolicy, но не повезло. Я отредактировал свой вопрос, чтобы включить фрагменты json индексатора и источника данных. Пожалуйста, обратитесь! –

ответ

-1

В основном на Лазурном поиск мы должны создать индекс с определенными столбцами и нам нужно форматировать данные в определенном индексе по индексу Azure Search, используя время планировщика.

Автоматическая индексация/синхронизация Azure SQL DB с Azure Search - это метод, позволяющий сделать этот процесс простым и управляемым, где Azure sql управляет процессом синхронизации.

+0

Если вы можете ясно прочитать мой первоначальный вопрос, вы можете заметить, что я это понимаю, но у меня проблемы с тем, что он действительно работает. –

0

Даже с политикой отслеживания изменений данные по индексу не обновляются до тех пор, пока не будет запущен указатель. Вы можете либо настроить индексатор на автоматический запуск по расписанию (последний раз я проверил, чаще всего вы можете сделать это каждые 5 минут) или явно запустить индексатор с помощью api. Хотя, если вам нужно часто обновлять эту информацию, вам, вероятно, следует изучить использование api для публикации документов, а не полагаться на индексатор.