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


Documents - Suggest Post

Предлагает документы в индексе, которые соответствуют заданному частичному тексту запроса.

POST {endpoint}/indexes('{indexName}')/docs/search.post.suggest?api-version=2023-11-01

Параметры URI

Имя В Обязательно Тип Описание
endpoint
path True

string

URL-адрес конечной точки службы поиска.

indexName
path True

string

Имя индекса.

api-version
query True

string

Версия API клиента.

Заголовок запроса

Имя Обязательно Тип Описание
x-ms-client-request-id

string

uuid

Идентификатор отслеживания, отправленный с запросом на помощь в отладке.

Текст запроса

Имя Обязательно Тип Описание
search True

string

Текст поиска, используемый для предложения документов. Минимальная длина — 1 символ, максимальная — 100 символов.

suggesterName True

string

Имя средства подбора, указанное в коллекции средств подбора, которая является частью определения индекса.

filter

string

Выражение OData, которое фильтрует документы, рассматриваемые по предложениям.

fuzzy

boolean

Значение типа , указывающее, следует ли использовать нечеткое сопоставление для запроса предложения. Значение по умолчанию — false. Если задано значение true, запрос будет находить предложения, даже если в тексте поиска есть замещающий или отсутствующий символ. Хотя это обеспечивает более широкие возможности в некоторых сценариях, результатом становится снижение производительности, так как поиск с нечеткими предложениями занимает больше времени и потребляет больше ресурсов.

highlightPostTag

string

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

highlightPreTag

string

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

minimumCoverage

number

Число от 0 до 100, указывающее процент индекса, который должен быть охвачен запросом предложения, чтобы запрос сообщал об успешном выполнении. Этот параметр может быть полезен для обеспечения доступности поиска даже для служб с одним реплика. Значение по умолчанию — 80.

orderby

string

Разделенный запятыми список OData $orderby выражений для сортировки результатов. Каждое выражение может быть именем поля или вызовом функций geo.distance() или search.score(). За каждым выражением может следовать asc для указания возрастания, или desc, чтобы обозначить по убыванию. По умолчанию результаты сортируются по возрастанию. При равенстве позиций порядок определяется по показателю совпадения документа. Если $orderby не указан, порядок сортировки по умолчанию убывания по оценке соответствия документа. Может быть не более 32 $orderby предложений.

searchFields

string

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

select

string

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

top

integer

Число предложений, которое необходимо получить. Это должно быть значение от 1 до 100. Значение по умолчанию — 5.

Ответы

Имя Тип Описание
200 OK

SuggestDocumentsResult

Ответ, содержащий предлагаемые документы, которые соответствуют частичным входным данным.

Other Status Codes

SearchError

Ответ об ошибке.

Примеры

SearchIndexSuggestDocumentsPost

Образец запроса

POST https://myservice.search.windows.net/indexes('myindex')/docs/search.post.suggest?api-version=2023-11-01

{
  "filter": "rating gt 4.0",
  "highlightPostTag": "</em>",
  "highlightPreTag": "<em>",
  "minimumCoverage": 80,
  "orderby": "rating desc",
  "search": "hote",
  "searchFields": "title",
  "select": "docId,title,description",
  "suggesterName": "sg",
  "top": 10
}

Пример ответа

{
  "value": [
    {
      "@search.text": "Nice <em>Hotel</em>",
      "description": "Cheapest hotel in town",
      "docId": "1",
      "title": "Nice Hotel"
    },
    {
      "@search.text": "Fancy <em>Hotel</em>",
      "description": "Best hotel in town",
      "docId": "2",
      "title": "Fancy Hotel"
    }
  ]
}

Определения

Имя Описание
SearchError

Описывает условие ошибки для API.

SuggestDocumentsResult

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

SuggestRequest

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

SuggestResult

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

SearchError

Описывает условие ошибки для API.

Имя Тип Описание
code

string

Один из определяемого сервером набора кодов ошибок.

details

SearchError[]

Массив сведений о конкретных ошибках, которые привели к этой сообщаемой ошибке.

message

string

Удобочитаемое представление ошибки.

SuggestDocumentsResult

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

Имя Тип Описание
@search.coverage

number

Значение , указывающее процент индекса, включенного в запрос, или значение NULL, если параметр minimumCoverage не был задан в запросе.

value

SuggestResult[]

Последовательность результатов, возвращаемых запросом.

SuggestRequest

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

Имя Тип Описание
filter

string

Выражение OData, которое фильтрует документы, рассматриваемые по предложениям.

fuzzy

boolean

Значение типа , указывающее, следует ли использовать нечеткое сопоставление для запроса предложения. Значение по умолчанию — false. Если задано значение true, запрос будет находить предложения, даже если в тексте поиска есть замещающий или отсутствующий символ. Хотя это обеспечивает более широкие возможности в некоторых сценариях, результатом становится снижение производительности, так как поиск с нечеткими предложениями занимает больше времени и потребляет больше ресурсов.

highlightPostTag

string

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

highlightPreTag

string

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

minimumCoverage

number

Число от 0 до 100, указывающее процент индекса, который должен быть охвачен запросом предложения, чтобы запрос сообщал об успешном выполнении. Этот параметр может быть полезен для обеспечения доступности поиска даже для служб с одним реплика. Значение по умолчанию — 80.

orderby

string

Разделенный запятыми список OData $orderby выражений для сортировки результатов. Каждое выражение может быть именем поля или вызовом функций geo.distance() или search.score(). За каждым выражением может следовать asc для указания возрастания, или desc, чтобы обозначить по убыванию. По умолчанию результаты сортируются по возрастанию. При равенстве позиций порядок определяется по показателю совпадения документа. Если $orderby не указан, порядок сортировки по умолчанию убывания по оценке соответствия документа. Может быть не более 32 $orderby предложений.

search

string

Текст поиска, используемый для предложения документов. Минимальная длина — 1 символ, максимальная — 100 символов.

searchFields

string

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

select

string

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

suggesterName

string

Имя средства подбора, указанное в коллекции средств подбора, которая является частью определения индекса.

top

integer

Число предложений, которое необходимо получить. Это должно быть значение от 1 до 100. Значение по умолчанию — 5.

SuggestResult

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

Имя Тип Описание
@search.text

string

Текст результата предложения.