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

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

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

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

Прежде чем приступить к работе, подготовьте указанные ниже необходимые компоненты:

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .

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

  • В этом кратком руководстве используется realestate-us-sample-index. Чтобы создать индекс, используйте мастер импорта данных, выберите встроенные примеры данных и выполните шаги мастера, используя все значения по умолчанию.

    Screenshot of the sample data sets available in the Import data wizard.

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

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

  2. Щелкните проводник поиска на панели команд:

    Screenshot of the Search explorer command in portal.

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

    Screenshot of the Search explorer tab.

Запрос двумя способами

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

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

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

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

    Screenshot of the JSON view selector.

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

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

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

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

{
   "search": "*"
}

Результаты

Unqualified or empty query example

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

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

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

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

Результаты

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

Screenshot of a free text query example.

Количество соответствующих документов

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

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

Результаты

Screenshot of a count example.

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

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

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

Результаты

Screenshot of restrict fields in search results example.

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

Поиск ИИ 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
}

Результаты

Screenshot of returning next batch of search results example.

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

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

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

Результаты

Screenshot of a filter example.

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

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

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

Результаты

Screenshot of a sorting example.

Общие выводы

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

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

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

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

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

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

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

Просматривать ресурсы и управлять ими можно на портале с помощью ссылок Все ресурсы или Группы ресурсов на панели навигации слева.

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

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

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