Хранилище больших двоичных объектов индексатора когнитивного поиска Azure

#azure-blob-storage #azure-cognitive-search #azure-cognitive-services #indexer

#azure-blob-хранилище #azure-когнитивный поиск #azure-когнитивные сервисы #индексатор

Вопрос:

Я застрял в сложной ситуации и буду признателен, если кто-нибудь сможет помочь.

Итак, я тестировал индексирование хранилища больших двоичных объектов (PDF-файлов) и проиндексировал копию своего хранилища в среде контроля качества, что стоило мне некоторых денег.

Мой вопрос заключается в следующем: есть ли какое-либо решение для использования этого индекса в производстве без повторного индексирования?

Я нашел решение для копирования индекса, и это работает нормально, но когда я добавляю индексатор, который подключается к рабочему хранилищу больших двоичных объектов, он снова начинает индексировать с нуля (как я и ожидал). Есть ли какое-либо решение для этого? Есть ли какое-нибудь решение попросить индексатор индексировать с этого момента?

Я попытался использовать индекс и индексатор, которые у меня уже есть, изменив подписку на prod. Но мне нужно изменить источник данных для индексатора, чтобы он указывал на хранилище больших двоичных объектов, и в этом случае я получаю сообщение об ошибке :

Индексатор ‘filesIndexer’ в настоящее время ссылается на источник данных ‘qafilesds’ и не может быть обновлен для ссылки на другой источник данных ‘prodfilesds’, поскольку он имеет непустое состояние отслеживания изменений или в настоящее время выполняется. Вы можете использовать Reset API для сброса состояния отслеживания изменений индексатора, когда оно больше не выполняется, и повторить этот вызов.

Ответ №1:

Простой ответ на ваш первый вопрос — просто использовать созданный вами индекс контроля качества.

Более сложный ответ заключается в переключении с модели push, которую вы используете сейчас, на модель pull. Из вашего объяснения выше я предполагаю, что весь ваш контент поступает из хранилища больших двоичных объектов. И вы настроили индексатор для выполнения индексации за вас. Это известно как модель извлечения.

Альтернативой является использование Azure Cognitive Search SDK для написания собственного приложения, которое вместо этого отправляет содержимое в индекс. В этом случае вы используете не встроенный индексатор, а только сам индекс. Затем вы можете использовать любую логику, которую хотите, чтобы определить, что индексировать, а что пропустить. Вы даже можете включить для своих учетных записей хранения уведомление приложения о событиях при обновлении содержимого.