Импорт данных в поиске ИИ Azure
В службе "Поиск ИИ Azure" запросы выполняются по пользовательскому содержимому , загруженном в индекс поиска. В этой статье описаны два основных рабочего процесса для заполнения индекса: отправка данных в индекс программным способом или извлечение данных с помощью индексатора поиска.
Оба подхода загружают документы из внешнего источника данных. Хотя вы можете создать пустой индекс, он не может запрашиваться, пока не будет добавлено содержимое.
Примечание.
Если обогащение ИИ или встроенная векторизация являются требованиями к решению, необходимо использовать модель извлечения (индексаторы) для загрузки индекса. Наборы навыков присоединяются к индексаторам и не выполняются независимо.
Отправка данных в индекс
Модель отправки — это подход, использующий API для отправки документов в существующий индекс поиска. Вы можете отправлять документы по отдельности или в пакетах до 1000 на пакет или 16 МБ на пакет, в зависимости от того, какой предел будет первым.
Основные преимущества:
Нет ограничений на тип источника данных. Полезные данные должны состоять из документов JSON, которые сопоставляются с схемой индекса, но данные могут быть источником из любого места.
Нет ограничений на частоту выполнения. Вы можете отправлять изменения в индекс с любой частотой. Для приложений, имеющих низкие требования к задержке (например, если индекс должен быть синхронизирован с колебаниями инвентаризации продуктов), модель push-отправки является единственным вариантом.
Подключение и безопасное извлечение документов полностью находятся под контролем. В отличие от этого, подключения индексатора проходят проверку подлинности с помощью функций безопасности, предоставляемых в службе "Поиск ИИ Azure".
Отправка данных в индекс поиска ИИ Azure
Используйте следующие API для загрузки одного или нескольких документов в индекс:
- Индексирование документов (REST API)
- IndexDocumentsAsync (Azure SDK для .NET) или SearchIndexingBufferedSender
- IndexDocumentsBatch (Azure SDK для Python) или SearchIndexingBufferedSender
- IndexDocumentsBatch (Azure SDK для Java) или SearchIndexingBufferedSender
- IndexDocumentsBatch (Пакет SDK Azure для JavaScript или SearchIndexingBufferedSender
Нет поддержки отправки данных через портал Azure.
Общие сведения об API отправки см. в следующих статьях:
- Краткое руководство. Полнотекстовый поиск с помощью пакетов SDK Azure
- Руководство по C#. Оптимизация индексирования с помощью API push-уведомлений
- Краткое руководство по REST. Создание индекса поиска ИИ Azure с помощью PowerShell
Действия индексирования: 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.
Извлечение данных в индекс
Модель извлечения использует индексаторы , подключающиеся к поддерживаемму источнику данных, автоматически отправляя данные в индекс. Индексаторы от Корпорации Майкрософт доступны для этих платформ:
- Хранилище BLOB-объектов Azure
- Хранилище таблиц Azure
- Azure Data Lake Storage 2-го поколения
- Файлы Azure (предварительная версия)
- Azure Cosmos DB
- База данных SQL Azure, Управляемый экземпляр SQL и SQL Server на виртуальных машинах Azure
- Файлы и сочетания клавиш OneLake
- SharePoint Online (предварительная версия)
Вы можете использовать сторонние соединители, разработанные и поддерживаемые партнерами Майкрософт. Дополнительные сведения и ссылки см . в коллекции источников данных.
Индексаторы подключают индекс к источнику данных (как правило, это таблица, представление или эквивалентная структура) и сопоставляют поля источника с эквивалентными полями в индексе. Во время выполнения набор строк автоматически преобразуется в формат JSON и загружается в указанный индекс. Все индексаторы поддерживают расписания, чтобы указать частоту обновления данных. Большинство индексаторов позволяют отслеживать изменения, если источник данных поддерживает такую возможность. Отслеживая процессы изменения и удаления существующих документов, помимо распознания новых документов, индексаторы исключают необходимость в активном управлении данными в индексе.
Извлечение данных в индекс поиска ИИ Azure
Используйте следующие средства и API для индексирования на основе индексатора:
- Мастер импорта данных или мастер импорта и векторизации данных
- REST API: создание индексатора (REST), создание источника данных (REST), создание индекса (REST)
- Пакет SDK Azure для .NET: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Пакет SDK Azure для Python: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Пакет SDK Azure для Java: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Пакет SDK Azure для JavaScript: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
Функции индексатора предоставляются в [портал Azure], REST API и пакете SDK для .NET.
Преимущество использования портал Azure заключается в том, что поиск ИИ Azure обычно может создавать схему индекса по умолчанию, считывая метаданные исходного набора данных.
Проверка импорта данных с помощью проводника поиска
Быстрый способ предварительной проверки отправки документа — использовать обозреватель поиска в портал Azure.
Проводник позволяет создавать запросы к индексу без необходимости писать код. Возможности поиска используют стандартные параметры, включая простой синтаксис и стандартный параметр запроса searchMode. Результаты возвращаются в формате JSON, позволяя проверить весь документ.
Ниже приведен пример запроса, который можно запустить в обозревателе поиска в представлении JSON. "HotelId" является ключом документа для индекса hotels-sample-index. Фильтр предоставляет идентификатор документа определенного документа:
{
"search": "*",
"filter": "HotelId eq '50'"
}
Если вы используете REST, этот запрос поиска достигает той же цели.