Импорт данных в поиске ИИ Azure

В службе "Поиск ИИ Azure" запросы выполняются по пользовательскому содержимому , загруженном в индекс поиска. В этой статье описаны два основных рабочего процесса для заполнения индекса: отправка данных в индекс программным способом или извлечение данных с помощью индексатора поиска.

Оба подхода загружают документы из внешнего источника данных. Хотя вы можете создать пустой индекс, он не может запрашиваться, пока не будет добавлено содержимое.

Примечание.

Если решение требует использования обогащения искусственного интеллекта, для загрузки индекса необходимо использовать модель извлечения (индексаторы). Наборы навыков присоединяются к индексатору и не выполняются независимо.

Отправка данных в индекс

Модель отправки — это подход, использующий API для отправки документов в существующий индекс поиска. Вы можете отправлять документы по отдельности или в пакетах до 1000 на пакет или 16 МБ на пакет, в зависимости от того, какой предел будет первым.

Основные преимущества:

  • Нет ограничений на тип источника данных. Полезные данные должны состоять из документов JSON, которые сопоставляются с схемой индекса, но данные могут быть источником из любого места.

  • Нет ограничений на частоту выполнения. Вы можете отправлять изменения в индекс с любой частотой. Для приложений, имеющих низкие требования к задержке (например, если индекс должен быть синхронизирован с колебаниями инвентаризации продуктов), модель push-отправки является единственным вариантом.

  • Подключение тивность и безопасное извлечение документов полностью находятся под контролем. В отличие от этого, подключения индексатора проходят проверку подлинности с помощью функций безопасности, предоставляемых в службе "Поиск ИИ Azure".

Отправка данных в индекс поиска ИИ Azure

Используйте следующие API для загрузки одного или нескольких документов в индекс:

Нет поддержки отправки данных через портал Azure.

Общие сведения об API отправки см. в следующих статьях:

Действия индексирования: upload, merge, mergeOrUpload, delete

Вы можете управлять типом действия индексирования для каждого документа, указывая, должен ли документ быть полностью передан, объединен с имеющимся содержимым документа или удален.

Независимо от того, используется ли REST API или пакет SDK Для Azure, для импорта данных поддерживаются следующие операции с документами:

  • Отправка, аналогичная "upsert", в которой документ вставляется, если он новый, и обновлен или заменен, если он существует. Если документ отсутствует значения, необходимые индексу, значение поля документа имеет значение NULL.

  • слияние обновляет документ, который уже существует, и не удается найти документ. Слияние заменяет существующие значения. По этой причине обязательно проверка для полей коллекции, содержащих несколько значений, таких как поля типаCollection(Edm.String). Например, если tags поле начинается со значения ["budget"] и выполняется слияние с ["economy", "pool"], конечное значение tags поля равно ["economy", "pool"]. Это не будет ["budget", "economy", "pool"].

  • mergeOrUpload работает так, как слияние , если документ существует, и отправляется , если документ новый.

  • удаляет весь документ из индекса. Если вы хотите удалить отдельное поле, используйте слияние , задав поле под вопросом значение NULL.

Извлечение данных в индекс

Модель извлечения использует индексаторы , подключающиеся к поддерживаемму источнику данных, автоматически отправляя данные в индекс. Индексаторы от Корпорации Майкрософт доступны для этих платформ:

Вы можете использовать сторонние соединители, разработанные и поддерживаемые партнерами Майкрософт. Дополнительные сведения и ссылки см . в коллекции источников данных.

Индексаторы подключают индекс к источнику данных (как правило, это таблица, представление или эквивалентная структура) и сопоставляют поля источника с эквивалентными полями в индексе. Во время выполнения набор строк автоматически преобразуется в формат JSON и загружается в указанный индекс. Все индексаторы поддерживают расписания, чтобы указать частоту обновления данных. Большинство индексаторов позволяют отслеживать изменения, если источник данных поддерживает такую возможность. Отслеживая процессы изменения и удаления существующих документов, помимо распознания новых документов, индексаторы исключают необходимость в активном управлении данными в индексе.

Извлечение данных в индекс поиска ИИ Azure

Используйте следующие средства и API для индексирования на основе индексатора:

Функции индексатора предоставляются в [портал Azure], REST API и пакете SDK для .NET.

Преимуществом использования портала является то, что поиск ИИ Azure обычно может создавать схему индекса по умолчанию, считывая метаданные исходного набора данных.

Проверка импорта данных с помощью проводника поиска

Чтобы быстро выполнить предварительную проверку загрузки документа, можно воспользоваться проводником поиска на портале.

Screenshot of Search Explorer command in the Azure portal.

Проводник позволяет создавать запросы к индексу без необходимости писать код. Возможности поиска используют стандартные параметры, включая простой синтаксис и стандартный параметр запроса searchMode. Результаты возвращаются в формате JSON, позволяя проверить весь документ.

Ниже приведен пример запроса, который можно запустить в Обозреватель поиска в представлении JSON. "HotelId" является ключом документа для индекса hotels-sample-index. Фильтр предоставляет идентификатор документа определенного документа:

{
  "search": "*",
  "filter": "HotelId eq '50'"
}

Если вы используете REST, этот запрос поиска достигает той же цели.

См. также