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


Краткое руководство. Использование обозревателя поиска для выполнения запросов в портал Azure

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

Для демонстрации проводника поиска в этом кратком руководстве используется существующий индекс.

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

Запуск проводника поиска

  1. На портале Azure найдите службу поиска и откройте страницу обзора .

  2. На панели команд выберите обозреватель поиска:

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

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

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

Запрос тремя способами

Существует три подхода к запросу в обозревателе поиска.

  • Представление запроса предоставляет панель поиска по умолчанию. Он принимает пустой запрос или произвольный текстовый запрос с булевыми операторами, например seattle condo + parking.

  • Окно просмотра изображений позволяет просматривать или перетаскивать файлы PNG, JPG или JPEG. Если индекс не имеет векторизатора изображений и эквивалентного навыка, это представление недоступно.

  • Представление JSON поддерживает параметризованные запросы. Фильтры, orderby, select, count, searchFields и все остальные параметры должны быть заданы в представлении JSON.

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

Пример: запрос изображения

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

Индекс realestate-us-sample не настроен для векторизации изображений. Если вы хотите выполнять запросы по изображениям, создайте индекс так, как это описано в кратком руководстве Векторный поиск на портале Azure. "В быстром старте используют образцы данных на основе текста, поэтому необходимо использовать документы, содержащие изображения."

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

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

Примеры: запросы JSON

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

Совет

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

Выполнение неопределенного запроса

В обозревателе поиска запросы POST создаются внутренне с помощью REST API search POST с ответами, возвращаемыми в виде подробных документов JSON.

Для первого просмотра содержимого выполните пустой поиск, выбрав "Поиск без предоставленных условий". Такой поиск удобно использовать в качестве первого запроса, так как он возвращает все документы. Это позволяет ознакомиться со структурой документов. При пустом поиске оценка поиска не возвращается в произвольном порядке ("@search.score": 1 для всех документов). По умолчанию для запроса поиска возвращаются 50 документов.

Аналогичный синтаксис поиска с пустыми условиями: * или "search": "*".

{
   "search": "*",
   "count": true
}

Результаты

Снимок экрана: пример некавалифицированного или пустого запроса.

Запуск свободного текстового запроса

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

Представление JSON не требуется для бесплатного текстового запроса, но мы предоставляем его в ФОРМАТЕ JSON для согласованности с другими примерами в этой статье.

Обратите внимание, что при указании условий поиска, например терминов или выражений запроса, вступает в действие рейтинг поиска. В следующем примере показан поиск произвольного текста. "@search.score" — это оценка релевантности, вычисленная для сопоставления с использованием алгоритма оценки по умолчанию.

{
    "search": "Seattle townhouse `Lake Washington` miele OR thermador appliance"
}

Результаты

С помощью клавиш CTRL-F можно искать определенные условия в результатах поиска.

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

Подсчет подходящих документов

Добавьте "count": true , чтобы получить количество совпадений, найденных в индексе. При поиске с пустыми условиями это значение равно общему количеству документов в индексе. При поиске с полными условиями это значение равно количеству документов, соответствующих входному запросу. Помните, что служба возвращает первые 50 совпадений по умолчанию, поэтому количество может указывать больше совпадений в индексе, чем то, что возвращается в результатах.

{
    "search": "Seattle townhouse `Lake Washington` miele OR thermador appliance",
    "count": true
}

Результаты

Снимок экрана: пример счетчика.

Ограничение полей в результатах поиска

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

{
   "search": "seattle condo",
   "count": true,
   "select": "listingId, beds, baths, description, street, city, price"
}

Результаты

Снимок экрана: ограничение полей в примере результатов поиска.

Возвращение следующего пакета результатов

Поиск ИИ Azure возвращает первые 50 совпадений на основе ранжирования поиска. Чтобы получить следующий набор соответствующих документов, добавьте "top": 100 и "skip": 50 увеличьте результирующий набор до 100 документов (по умолчанию — 50, максимум 1000), пропуская первые 50 документов. Чтобы определить документ, просмотрите ключ документа (listingID).

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

{
   "search": "seattle condo",
   "count": true,
   "select": "listingId, beds, baths, description, street, city, price",
   "top": 100,
   "skip": 50
}

Результаты

Снимок экрана: передача следующего пакета результатов поиска.

Выражения фильтра (больше, меньше, равно)

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

{
    "search": "seattle condo",
    "count": true,
    "select": "listingId, beds, baths, description",
    "filter": "beds gt 3"
}

Результаты

Снимок экрана: пример фильтра.

Сортировка результатов

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

{
    "search": "seattle condo",
    "count": true,
    "select": "listingId, price, beds, baths, description",
    "filter": "beds gt 3",
    "orderby": "price asc"
}

Результаты

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

Общие выводы

В этом кратком руководстве вы использовали проводник поиска для выполнения запроса к индексу с помощью REST API.

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

  • Результаты поиска состоят из всех полей, помеченных как "извлекаемые" в индексе. Выберите вкладку "Смежные поля" , чтобы просмотреть атрибуты.

  • Поиск по ключевым словам, аналогичный тому, что вы можете ввести в коммерческом веб-браузере, полезно для тестирования взаимодействия с конечным пользователем. Например, если использовать встроенный пример индекса недвижимости, вы можете ввести "Сиэтл квартиры озеро Вашингтон", а затем использовать Ctrl-F, чтобы найти термины в результатах поиска.

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

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

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

Ресурсы и управление ими можно найти в портал Azure, используя ссылку "Все ресурсы" или "Группы ресурсов" в области навигации слева.

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

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

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