Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также служит основой для Foundry IQ — управляемого уровня знаний, который преобразует корпоративный контент в повторно используемые базы знаний с учетом прав доступа для агентов на портале Microsoft Foundry.
Задайте свойство schedule, чтобы настроить выполнение индексаторов по расписанию. Планирование индексатора полезно в таких ситуациях, как:
- Исходные данные изменяются со временем и требуется, чтобы индексатор автоматически обрабатывал разницу.
- Исходные данные очень большие, и вам потребуется повторяющееся расписание для индексирования всего содержимого.
- Индекс наполняется из нескольких источников с помощью нескольких индексаторов, и вы хотите запускать задания со сдвигом по времени, чтобы уменьшить количество конфликтов.
Если индексирование не может завершиться в обычном 2-часовом окне обработки, запланируйте индексатор на 2-часовую периодичность для работы с большим объемом данных. Если ваш источник данных поддерживает логику обнаружения изменений, индексаторы могут автоматически продолжить с того места, на котором они остановились при каждом запуске.
Поместив индексатор в расписание, он остается в расписании, пока не снимите интервал или время начала или установите disabled значение true. Если запланированный индексатор перестает запускаться неожиданно, см. статью "Вопросы о планировании поведения" для шагов восстановления. Если индексатор остаётся включённым по расписанию, когда нечего обрабатывать, это не влияет на производительность системы. Проверка измененного содержимого является относительно быстрой операцией.
Предварительные требования
Допустимый индексатор, настроенный с источником данных и индексом.
Обнаружение изменений в источнике данных. служба хранилища Azure и SharePoint имеют встроенное обнаружение изменений. Для других источников данных, таких как Azure SQL и Azure Cosmos DB, необходимо включить обнаружение изменений вручную.
Определение расписания
Расписание входит в состав определения индексатора. Если не указывать свойство schedule, индексатор будет выполняться только по требованию. Свойство состоит из двух частей.
| Свойство | Описание |
|---|---|
| "интервал" | Обязательный параметр. Задает время между двумя последовательными запусками индексатора. Наименьший интервал составляет 5 минут, а самый длинный — 1440 минут (24 часа). Отформатируйте его в формате значения XSD "dayTimeDuration" (ограниченного подмножества значения длительности по ISO 8601).
Шаблон для этого значения: P(nD)(T(nH)(nM))
Примеры: PT15M каждые 15 минут PT2H в течение каждых двух часов. |
| СтартТайм | (необязательно) Укажите время начала в согласованном универсальном времени (UTC). Если это значение не указано, используется текущее время. Это время может быть в прошлом, в этом случае первое выполнение запланировано так, как если бы индексатор работал непрерывно с исходного времени начала. |
Следующий пример — это расписание, начинающееся 1 января в полночь и выполняющееся каждые два часа.
{
"dataSourceName" : "hotels-ds",
"targetIndexName" : "hotels-idx",
"schedule" : { "interval" : "PT2H", "startTime" : "2024-01-01T00:00:00Z" }
}
Настройка расписаний
Укажите расписания в определении индексатора. Чтобы настроить расписание, используйте портал Azure, REST API или Azure SDK.
- Перейдите в службу поиска в портал Azure.
- На левой панели выберите индексаторы.
- Откройте индексатор.
- Выберите Параметры.
- Прокрутите вниз до расписания, а затем выберите "Почасово", "Ежедневно" или "Настраиваемый ", чтобы задать определенную дату, время или настраиваемый интервал.
Перейдите на вкладку Определения индексатора (JSON) в верхней части индекса, чтобы просмотреть определение расписания в формате XSD.
Часто задаваемые вопросы о планировании поведения
Можно ли параллельно запускать несколько заданий индексатора?
Можно одновременно запускать несколько индексаторов, но каждый индексатор является одним экземпляром. Невозможно одновременно запускать две копии одного индексатора.
Для индексирования текста планировщик может запускать столько заданий индексатора, сколько поддерживает служба поиска; это количество определяется числом единиц поиска. Например, если у службы три реплики и четыре секции, в активном выполнении может быть 12 заданий индексатора, инициированных по запросу или по расписанию.
Для индексирования на основе навыков индексаторы запускаются в определенной среде выполнения. По этой причине количество единиц службы не влияет на количество заданий индексирования на основе навыков, которые можно выполнять. Несколько индексаторов на основе навыков могут выполняться параллельно, но это зависит от доступности обработчика содержимого в среде выполнения.
Всегда ли запланированные задания начинаются в указанное время?
Процессы индексатора могут вставать в очередь и не запускаться точно во время публикации в зависимости от рабочей нагрузки обработки и других факторов. Например, если к моменту запуска следующего выполнения по расписанию индексатор всё ещё работает, ожидающий запуск откладывается до следующего срабатывания по расписанию, что позволяет текущему заданию завершиться.
Чтобы сделать это поведение более конкретным, рассмотрим следующий пример. Предположим, что вы настраиваете расписание индексатора с часовым интервалом и временем начала 1 января 2024 г. в 8:00:00 UTC. Вот что может произойти, когда выполнение индексатора занимает больше часа:
Первое выполнение индексатора начнется около 1 января 2024 г. в 8:00 по UTC. Предположим, что это выполнение занимает 20 минут (или любое время, которое меньше 1 часа).
Второе выполнение начинается около 1 января 2024 г. в 9:00 по UTC. Предположим, что это выполнение занимает 70 минут — более часа, и оно не завершается до 10:10 УТРА UTC.
Третье выполнение запланировано на 10:00 UTC, но на этот момент предыдущее выполнение все еще выполняется. В результате этот запланированный запуск пропускается. Следующий запуск индексатора не начнётся до 11:00 по UTC.
В редких случаях, например во время обслуживания или при восстановлении после временных сбоев, система ставит в очередь несколько запусков индексатора. При возникновении этого условия индексатор выполняет ожидающие рабочие нагрузки последовательно в запланированном окне. Например, если индексатор запланирован на ежечасный запуск, а несколько запусков были отложены или запущены по требованию, эти задания из очереди будут выполняться одно за другим, пока очередь не будет полностью обработана. Это не дополнительные запуски, а ранее запланированные или запрошенные запуски. Хотя это поведение редко в большинстве сценариев, индексатор предназначен для обработки всех задач в очереди для поддержания согласованности и свежести данных.
Примечание.
Если у вас есть строгие требования к выполнению индексатора, чувствительные к времени, рассмотрите возможность использования модели PUSH API , чтобы управлять конвейером индексирования напрямую.
Что происходит, если индексирование повторно завершается ошибкой в одном документе?
Если для индексатора задано определенное расписание, но при каждом запуске он раз за разом завершается сбоем на одном и том же документе, индексатор начинает запускаться реже (вплоть до максимального интервала — как минимум один раз в 2 часа или 24 часа, в зависимости от различных факторов реализации), пока ему снова не удастся успешно продвинуться дальше. Если вы считаете, что устранена базовая проблема, запустите индексатор вручную. Если индексирование прошло успешно, индексатор возвращается к обычному расписанию. Если после успешного ручного запуска индексатор не возвращается к своему обычному графику, см. следующий вопрос.
Запланированный индексатор перестал запускаться. Как сбросить его расписание?
Если индексатор, запускаемый по расписанию, перестаёт работать, отключите и снова включите его, чтобы сбросить расписание. Знак, который требуется для этого восстановления: новые запуски не отображаются в журнале выполнения, даже если расписание настроено и источник данных изменен.
Если задать для параметра disabled значение true, расписание будет приостановлено. Если снова установить значение false (или не указывать это свойство), планирование возобновится, используя текущее время как новую точку отсчёта для заданного интервала.
- Перейдите в службу поиска в портал Azure.
- Выберите индексаторы.
- Выберите индексатор, чтобы открыть его.
- Выберите Параметры.
- Задайте для индексатора значение "Отключено".
- Нажмите Сохранить.
- Задайте для индексатора значение "Включено".
- Нажмите Сохранить.
- Выберите вкладку "Журнал выполнения " и убедитесь, что новый запуск отображается в течение следующего запланированного интервала.
Примечание.
Повторное включение индексатора сбрасывает расписание относительно текущего времени, а не исходного startTime. Например, если интервал составляет два часа, и вы повторно включите в 3:15 вечера, следующий запланированный запуск составляет примерно 5:15 вечера.
Следующие шаги
Для индексаторов, выполняющихся по расписанию, можно отслеживать операции, извлекая состояние из службы поиска или получая подробные сведения, включив ведение журнала ресурсов.