#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 для написания собственного приложения, которое вместо этого отправляет содержимое в индекс. В этом случае вы используете не встроенный индексатор, а только сам индекс. Затем вы можете использовать любую логику, которую хотите, чтобы определить, что индексировать, а что пропустить. Вы даже можете включить для своих учетных записей хранения уведомление приложения о событиях при обновлении содержимого.