Поделиться через


Краткое руководство по созданию индекса службы "Поиск Azure" на портале Azure

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

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

Примечание.

Мастер импорта данных включает параметры OCR, перевода текста и других обогащений ИИ, которые не рассматриваются в этом кратком руководстве. Аналогичное пошаговое руководство по применению ИИ см. в кратком руководстве по созданию набора навыков в портал Azure.

Необходимые компоненты

Проверка доступа к сети

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

Проверка доступного пространства

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

На вкладке "Обзор" выберите "Использование" , чтобы узнать, сколько индексаторов, индексаторов и источников данных у вас есть.

Снимок экрана: страница

Запуск мастера

  1. Войдите на портал Azure.

  2. Перейдите в службу поиска.

  3. На вкладке "Обзор" выберите "Импорт данных ", чтобы запустить мастер.

    Снимок экрана: открытие мастера импорта данных в портал Azure.

Создание и загрузка индекса поиска

В этом разделе описано, как создать и загрузить индекс в четырех шагах:

  1. Подключение к источнику данных
  2. Пропуск конфигурации для когнитивных навыков
  3. Настройка индекса
  4. Настройка и запуск индексатора

Подключение к источникам данных

Мастер создает подключение к источнику данных для примера данных, размещенных в Azure Cosmos DB. Доступ к примерам данных осуществляется через общедоступную конечную точку, поэтому для этого шага не требуется учетная запись Azure Cosmos DB или исходные файлы.

Чтобы подключиться к примеру данных, выполните следующие действия.

  1. В раскрывающемся списке "Источник данных" разверните список "Подключение к данным" и выберите "Примеры".

  2. Выберите в списке встроенных примеров отели.

  3. Нажмите кнопку "Далее". Чтобы продолжить, добавьте когнитивные навыки (необязательно ).

    Снимок экрана, на котором показано, как выбрать источник данных из примера отелей в мастере импорта данных.

Пропуск конфигурации для когнитивных навыков

Хотя мастер поддерживает создание набора навыков и обогащение ИИ во время индексирования , когнитивные навыки выходят за рамки этого краткого руководства.

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

  1. При добавлении когнитивных навыков игнорируйте параметры конфигурации обогащения ИИ.

  2. Нажмите кнопку Далее: настройте целевой индекс для продолжения.

    Снимок экрана: переход на вкладку

Совет

Чтобы начать работу с обогащением ИИ, см. раздел 'Быстрый старт: Создание набора навыков на портале Azure'.

Настройка индекса

Мастер выводит схему для индекса hotels-sample. Чтобы настроить индекс, выполните следующие действия.

  1. Примите системные значения для имени индекса (hotels-sample-index) и Key(HotelId).

  2. Примите системные значения для всех атрибутов поля.

  3. Нажмите кнопку Далее: создайте индексатор для продолжения.

    Снимок экрана, на котором показано определение созданного индекса для источника данных из примеров отелей в мастере импорта данных.

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

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

Свойство Описание Применимые типы данных
Возможно извлечение Поля, возвращаемые в ответе запроса. Строки и целые числа
Доступно для фильтрации Поля, принимаюющие выражение фильтра. Целые числа
Сортируемый Поля, принимаюющие выражение orderby. Целые числа
Аспектируемый Поля, используемые в фасетной структуре навигации. Целые числа
Возможность поиска Поля, используемые в полнотекстовом поиске. Строки доступны для поиска, но числовые и логические поля часто помечаются как недоступные для поиска. Строки

Атрибуты влияют на хранилище разными способами. Например, фильтруемые поля используют дополнительное хранилище, тогда как извлекаемые поля этого не делают. Дополнительные сведения см. в примере , демонстрирующего последствия хранения атрибутов и предлагаемых средств.

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

Настройка и выполнение индексатора

Наконец, вы настроите и запустите индексатор, который определяет исполняемый процесс. Источник данных и индекс также создаются на этом шаге.

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

  1. Примите системное значение для имени индексатора (hotels-sample-indexer).

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

  3. Выберите "Отправить ", чтобы одновременно создать и запустить индексатор.

    Снимок экрана, на котором показано, как настроить индексатор для источника данных из примеров отелей в мастере импорта данных.

Мониторинг хода выполнения индексатора

Вы можете отслеживать создание индексатора и индекса на портале Azure. Вкладка "Обзор" содержит ссылки на ресурсы, созданные в службе поиска.

Чтобы отслеживать ход выполнения индексатора, выполните следующие действия.

  1. Перейдите в службу поиска в портал Azure.

  2. В левой области выберите индексаторы.

    Снимок экрана: создание индексатора в портал Azure.

    Для обновления результатов может потребоваться несколько минут. Вы увидите только что созданный индексатор с состоянием "Выполняется " или "Успешно". В списке также отображается количество индексированных документов.

Проверка результатов индекса поиска

  1. Перейдите в службу поиска в портал Azure.

  2. В левой области выберите индексы.

  3. Выберите hotels-sample-index. Если в индексе нет документов или хранилища, дождитесь обновления портала Azure.

    Снимок экрана: список индексов на панели мониторинга azure AI служба  в портал Azure.

  4. Перейдите на вкладку "Поля", чтобы просмотреть схему индекса.

  5. Проверьте, какие поля можно отфильтровать или отсортировать, чтобы узнать, какие запросы следует записывать.

    Снимок экрана: определение схемы для индекса в служба  ИИ Azure в портал Azure.

Добавление или изменение полей

На вкладке "Поля" можно создать поле, выбрав " Добавить поле " и указав имя, поддерживаемый тип данных и атрибуты.

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

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

Подача запросов с использованием обозревателя поиска

Теперь у вас есть индекс поиска, который можно запрашивать с помощью обозревателя поиска, который отправляет вызовы REST, соответствующие REST API search POST. Это средство поддерживает простой синтаксис запросов и полный синтаксис запросов Lucene.

Чтобы запросить индекс поиска, выполните следующий запрос:

  1. На вкладке обозревателя поиска введите текст для поиска.

    Снимок экрана, на котором показано, как ввести и запустить запрос в средстве обозревателя поиска.

  2. Чтобы перейти к невидимым областям выходных данных, используйте мини-карту.

    Снимок экрана: длинные результаты запроса в средстве обозревателя поиска и мини-карте.

  3. Чтобы указать синтаксис, переключитесь в представление JSON.

    Снимок экрана: селектор представления JSON.

Примеры запросов к индексу hotels-sample

В следующих примерах предполагается представление JSON и версия REST API 2024-05-01-preview.

Совет

Представление JSON поддерживает intellisense для завершения имени параметра. Поместите курсор в представление JSON и введите пробел, чтобы просмотреть список всех параметров запроса. Можно также ввести букву, например "s", чтобы просмотреть только параметры запроса, начинающиеся с этой буквы. Intellisense не исключает недопустимые параметры, поэтому используйте собственное усмотрение.

Примеры выражений фильтрации

Парковка, теги, дата обновления, рейтинг и расположение можно фильтровать.

{
    "search": "beach OR spa",
    "select": "HotelId, HotelName, Description, Rating",
    "count": true,
    "top": 10,
    "filter": "Rating gt 4"
}

Логические фильтры предполагают значение true по умолчанию.

{
    "search": "beach OR spa",
    "select": "HotelId, HotelName, Description, Rating",
    "count": true,
    "top": 10,
    "filter": "ParkingIncluded"
}

Геопространственный поиск основан на фильтрах. Функция geo.distance фильтрует все результаты для позиционных данных на основе указанных Location и geography'POINT координат. Запрос ищет отели в пределах пяти километров от координат широты -122.12 47.67и долготы, который является "Редмонд, Вашингтон, США". В запросе отображается общее количество совпадений &$count=true с именами отелей и расположениями адресов.

{
    "search": "*",
    "select": "HotelName, Address/City, Address/StateProvince",
    "count": true,
    "top": 10,
    "filter": "geo.distance(Location, geography'POINT(-122.12 47.67)') le 5"
}

Полные примеры синтаксиса Lucene

Синтаксис по умолчанию является простым синтаксисом, но если требуется нечеткий поиск, повышение терминов или регулярные выражения, укажите полный синтаксис.

{
    "queryType": "full",
    "search": "seatle~",
    "select": "HotelId, HotelName,Address/City, Address/StateProvince",
    "count": true
}

Ошибки в запросах, такие как seatle вместо Seattle, не возвращают совпадения в типичном поиске. Параметр queryType=full вызывает полный синтаксический анализатор запросов Lucene, который поддерживает операнд тильда (~). При использовании этих параметров запрос выполняется с использованием нечетких критериев для указанного ключевого слова и находит соответствия по терминам, которые схожи, но не являются точным совпадением.

Возьмите минуту, чтобы попробовать эти примеры запросов на вашем индексе. Дополнительные сведения о запросах см. в статье "Запросы" в службе "Поиск ИИ Azure".

Очистка ресурсов

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

На портале Azure можно найти ресурсы для службы в разделе "Все ресурсы " или "Группы ресурсов " в левой области.

Примечание.

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

Следующий шаг

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