Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Эта функция предоставляется в общедоступной предварительной версии в соответствии с дополнительными условиями использования. Предварительная версия REST API поддерживает эту функцию.
Кэш обогащения — это необязательная функция, которая сохраняет повторное использование обогащенного содержимого, созданного во время исполнения набора навыков, чтобы только новые и измененные навыки и документы несли стандартные затраты на обработку в ходе будущей обработки индексатора и набора навыков.
Кэш содержит выходные данные из взлома документов, а также выходные данные каждого навыка для каждого документа. Несмотря на то, что кэширование является платным (используется служба хранилища Azure), общая стоимость обогащения уменьшается, так как затраты на хранение меньше, чем извлечение изображений и обработка ИИ.
Если вы настроили кэш обогащения, в этой статье объясняется, каким образом управлять обновлениями навыков и источников данных, чтобы получить максимальную выгоду из кэшированных обогащений.
Prerequisites
Limitations
Caution
Если вы используете индексатор SharePoint Online (предварительная версия), следует избежать добавочного обогащения. При определенных обстоятельствах кэш становится недействительным, требуя сброса индексатора и полного перестроения, если вы решите перезагрузить его.
Cache configuration
Физически кэш хранится в контейнере BLOB или таблице в вашей учетной записи хранения Azure, по одному контейнеру или таблице для каждого индексатора. Каждому индексатору присваивается уникальный и неизменяемый идентификатор кэша, соответствующий используемому контейнеру.
Кэш создается при указании свойства cache и запуска индексатора. Кэшировать можно только обогащенное содержимое. Если у индексатора нет подключенного набора навыков, кэширование не применяется.
В следующем примере показано использование индексатора с включенным кэшированием. Полные инструкции см. в разделе «Конфигурация кэширования данных».
Чтобы задать свойство кэша, используйте предварительную версию REST API Create or Update Indexer или предварительную версию пакета Пакета SDK Azure, который предоставляет эту функцию. Вы также можете включить кэширование обогащения в мастере импорта данных на портале Azure.
POST https://[YOUR-SEARCH-SERVICE-NAME].search.windows.net/indexers?api-version=2025-05-01-preview
{
"name": "myIndexerName",
"targetIndexName": "myIndex",
"dataSourceName": "myDatasource",
"skillsetName": "mySkillset",
"cache" : {
"storageConnectionString" : "<Your storage account connection string>",
"enableReprocessing": true
},
"fieldMappings" : [],
"outputFieldMappings": [],
"parameters": []
}
Cache management
Жизненным циклом кэша управляет индексатор. Если индексатор удаляется, его кэш также удаляется. Если задать для свойства cache
индексатора значение NULL или изменить строку подключения, существующий кэш будет удален.
Хотя добавочное обогащение предназначено для обнаружения и реагирования на изменения без вмешательства, существуют параметры, которые можно использовать для вызова конкретных действий:
- Приоритет новых документов
- Обход проверок набора навыков
- Обход проверок источников данных
- Принудительное вычисление набора навыков
приоритетная обработка новых документов;
Свойство кэша содержит enableReprocessing
параметр. Он используется для управления обработкой входящих документов, уже представленных в кэше. Если значение true (по умолчанию) документы, уже имеющиеся в кэше, повторно обрабатываются при повторном запуске индексатора, при условии, что обновление навыка влияет на этот документ.
Если значение false, существующие документы не переобработаются, эффективно приоритетизируя новое, входящее содержимое по сравнению с существующим содержимым. Необходимо задать значение false только для включенияReprocessing на временной основе. Если параметр enableReprocessing имеет значение true в большинстве случаев, все документы , как новые, так и существующие, допустимы для текущего определения набора навыков.
Пропуск оценки набора навыков
Изменение навыка и повторной обработки этого навыка обычно идет рука. Однако некоторые изменения навыка не должны привести к повторной обработке (например, развертывание пользовательского навыка в новом расположении или с новым ключом доступа). Скорее всего, это периферийные изменения, которые не оказывают подлинного влияния на вещество самого вывода навыка.
Если вы знаете, что изменение навыка действительно поверхностно, необходимо переопределить оценку навыка, задав disableCacheReprocessingChangeDetection
параметр true:
- Вызов набора навыков и изменение определения набора навыков.
- Добавьте параметр disableCacheReprocessingChangeDetection=true в запрос.
- Отправьте изменение.
Установка этого параметра гарантирует фиксацию только обновлений определения набора навыков, а изменение не вычисляется для влияния на существующий кэш. Используйте предварительную версию API 2020-06-30-Preview или более позднюю версию. Рекомендуется использовать последнюю предварительную версию API.
PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2025-05-01-preview&disableCacheReprocessingChangeDetection
Пропуск проверок источника данных
При большинстве изменений в определении источника данных кэш становится недействительным. Однако в сценариях, в которых вы знаете, что изменение не должно быть недействительным кэша, например изменение строка подключения или поворот ключа в учетной записи хранения, добавьте ignoreResetRequirement
параметр в обновление источника данных. Если этот параметр имеет значение true, фиксация будет проходить без активации условия сброса, что приведет к перестроению и заполнению всех объектов с нуля.
PUT https://[search service].search.windows.net/datasources/[data source name]?api-version=2025-05-01-preview&ignoreResetRequirement
Принудительная оценка набора навыков
Кэш нужен, чтобы избежать ненужной обработки — но что, если вы вносите изменения в навык, который не обнаруживается индексатором (например, изменяете что-то во внешнем коде, таком как пользовательский навык)?
В этом случае можно использовать запрос на сброс навыков, который принудительно запускает повторную обработку определенного навыка, включая все нисходящие навыки, зависящие от выходных данных этого навыка. Этот API принимает запрос POST со списком навыков, которые должны быть определены как недействительные и помечены для повторной обработки. После сброса навыков выполните запрос индексатора запуска, чтобы вызвать обработку конвейера.
Повторно кэшировать определенные документы
Сброс индексатора приведет к повторной обработке всех документов в корпусе поиска.
В сценариях, когда необходимо повторно обработать только несколько документов, используйте сброс документов (предварительная версия) для принудительной повторной обработки определенных документов. При сбросе документа индексатор отменяет кэш для этого документа, который затем повторно обрабатывается, считывая его из источника данных. Дополнительные сведения см. в статье "Запуск и сброс индексаторов, навыков и документов".
Чтобы сбросить определенные документы, запрос предоставляет список ключей документов в виде чтения из индекса поиска. Если ключ сопоставляется с полем во внешнем источнике данных, то указанное значение должно использоваться в индексе поиска.
В зависимости от способа вызова API запрос будет добавлять, перезаписывать или ставить в очередь список ключей:
В результате многократного вызова API-интерфейса с разными ключами новые ключи добавляются в список сброса ключей документа.
Вызов API с параметром строки запроса "overwrite", заданным значением true, перезаписывает текущий список ключей документов для сброса полезных данных запроса.
Вызов API приводит только к добавлению ключей документа в очередь работы, которую выполняет индексатор. При следующем вызове индексатора по расписанию или по запросу он в первую очередь обработает сброшенные ключи документа и лишь затем остальные изменения из источника данных.
В следующем примере показан запрос на сброс документа:
POST https://[search service name].search.windows.net/indexers/[indexer name]/resetdocs?api-version=2025-05-01-preview
{
"documentKeys" : [
"key1",
"key2",
"key3"
]
}
Изменения, которые делают кэш недействительным
После включения кэша индексатор оценивает изменения в компоновке конвейера, чтобы определить, какое содержимое можно повторно использовать, а какое требует повторной обработки. В этом разделе перечислены изменения, которые делают кэш недействительным, а за ними — изменения, которые инициируют добавочную обработку.
К таким изменениям относятся такие действия, после которых весь кэш становится недействительным. Например, приводящим к недействительности изменением является обновление источника данных. Ниже приведен полный список изменений в любой части конвейера индексатора, который будет недействительным для кэша:
- Изменение типа источника данных
- Изменение контейнера источника данных
- Изменение учетных данных источника данных
- Изменение политики обнаружения изменений источника данных
- Изменение политики обнаружения источника данных
- Изменение сопоставлений полей индексатора
- Изменение параметров индексатора:
- Parsing Mode
- исключаемые расширения имен файлов;
- индексируемые расширения имен файлов;
- индексация метаданных хранилища только для очень больших документов;
- заголовки текста с разделителями;
- разделители текста с разделителями;
- Document Root
- действие с изображением (изменения в способе извлечения изображений).
Изменения, которые инициируют добавочную обработку
При добавочной обработке оценивается определение набора навыков и определяется, какие навыки следует повторно запустить, выборочно обновив затронутые части дерева документов. Ниже приведен полный список изменений, которые приводят к добавочному обогащению:
- Изменение типа навыка (тип OData навыка обновляется)
- Параметры, относящиеся к навыку, обновляются, например URL-адрес, значения по умолчанию или другие параметры.
- Изменения выходных данных навыка, навык возвращает дополнительные или разные выходные данные.
- Изменения входных данных навыка, что приводит к изменению цепочки навыков
- недействительность любого навыка на уровне выше, если он предоставляет входные данные для этого навыка;
- Обновления расположения проекции хранилища знаний приводят к повторному проецирование документов
- Изменения в проекциях хранилища знаний, приводят к повторному проецирование документов
- Сопоставления полей вывода, измененные на индексаторе, приводят к повторному проецированию документов в индекс
API- интерфейсы, используемые для кэширования
Api предварительной версии предоставляют дополнительные свойства для индексаторов. Рекомендуется использовать последнюю предварительную версию API.
Наборы навыков и источники данных могут использовать общедоступную версию. В дополнение к справочной документации см. раздел "Настройка кэширования для добавочного обогащения " для получения сведений о порядке операций.
Создание или обновление индексатора (api-version=2025-05-01-preview)
Создание или обновление набора навыков (api-version=2025-05-01-preview) (новый параметр URI для запроса)
Создание или обновление источника данных (api-version=2025-05-01-preview) при вызове с версией API предварительной версии предоставляет новый параметр с именем "ignoreResetRequirement", который должен иметь значение true, если действие обновления не должно недопустимым для кэша. Используйте "ignoreResetRequirement", так как это может привести к непреднамеренного несоответствия в данных, которые не будут обнаружены легко.