Documents - Suggest Post
Предлагает документы в индексе, соответствующие заданному частичному тексту запроса.
POST {endpoint}/indexes('{indexName}')/docs/search.post.suggest?api-version=2025-09-01
Параметры URI
| Имя | В | Обязательно | Тип | Описание |
|---|---|---|---|---|
|
endpoint
|
path | True |
string |
URL-адрес конечной точки службы поиска. |
|
index
|
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 |
Тег string, который добавляется в начало для выделения попадания. Должен быть установлен с помощью highlightPostTag. Если опущено, подсветка предложений будет отключена. |
|
| minimumCoverage |
number (double) |
Число от 0 до 100, указывающее процент индекса, который должен быть покрыт запросом предложений, чтобы запрос был отмечен как успешный. Этот параметр может быть полезен для обеспечения доступности поиска даже для сервисов с одной репликой. Значение по умолчанию — 80. |
|
| orderby |
string |
Разделенный запятыми список OData $orderby выражения, по которым сортируются результаты. Каждое выражение может быть либо именем поля, либо вызовом функций geo.distance() или search.score(). За каждым выражением может следовать asc для обозначения возрастания, или desc для обозначения убывания. По умолчанию используется порядок возрастания. Ничьи будут разбиты по счету матчей документов. Если $orderby не указан, порядок сортировки по умолчанию — по убыванию по счету совпадения документа. Их может быть не более 32 $orderby пунктов. |
|
| searchFields |
string |
Разделенный запятыми список имен полей для поиска указанного искомого текста. Целевые поля должны быть включены в указанный подборщик. |
|
| select |
string |
Список полей, разделенных запятыми, для извлечения. Если не указано, в результаты будет включено только ключевое поле. |
|
| top |
integer (int32) |
Количество предложений для извлечения. Это значение должно быть в диапазоне от 1 до 100. Значение по умолчанию равно 5. |
Ответы
| Имя | Тип | Описание |
|---|---|---|
| 200 OK |
Ответ, содержащий предлагаемые документы, которые соответствуют частичному вводу. |
|
| Other Status Codes |
Ответ на ошибку. |
Примеры
SearchIndexSuggestDocumentsPost
Образец запроса
POST https://stableexampleservice.search.windows.net/indexes('stable-test')/docs/search.post.suggest?api-version=2025-09-01
{
"filter": "ownerId eq 'sam' and id lt '15'",
"fuzzy": true,
"highlightPostTag": "</em>",
"highlightPreTag": "<em>",
"minimumCoverage": 80,
"orderby": "id desc",
"search": "p",
"searchFields": "category",
"select": "id,name,category,ownerId",
"suggesterName": "sg",
"top": 10
}
Пример ответа
{
"@search.coverage": 100,
"value": [
{
"@search.text": "<em>pu</em>rple",
"id": "14",
"name": "test",
"category": "purple",
"ownerId": "sam"
},
{
"@search.text": "<em>pu</em>rple",
"id": "13",
"name": "test",
"category": "purple",
"ownerId": "sam"
},
{
"@search.text": "<em>pu</em>rple",
"id": "11",
"name": "test",
"category": "purple",
"ownerId": "sam"
},
{
"@search.text": "<em>pu</em>rple",
"id": "1",
"name": "test",
"category": "purple",
"ownerId": "sam"
}
]
}
Определения
| Имя | Описание |
|---|---|
|
Error |
Дополнительные сведения об ошибке управления ресурсами. |
|
Error |
Сведения об ошибке. |
|
Error |
Ответ на ошибку |
|
Suggest |
Ответ, содержащий результаты запроса предложений из индекса. |
|
Suggest |
Параметры для фильтрации, сортировки, нечеткого сопоставления и других вариантов поведения запросов. |
|
Suggest |
Результат, содержащий документ, найденный с помощью запроса предложений, а также связанные метаданные. |
ErrorAdditionalInfo
Дополнительные сведения об ошибке управления ресурсами.
| Имя | Тип | Описание |
|---|---|---|
| info |
object |
Дополнительная информация. |
| type |
string |
Тип дополнительной информации. |
ErrorDetail
Сведения об ошибке.
| Имя | Тип | Описание |
|---|---|---|
| additionalInfo |
Ошибка дополнительная информация. |
|
| code |
string |
Код ошибки. |
| details |
Сведения об ошибке. |
|
| message |
string |
Сообщение об ошибке. |
| target |
string |
Цель ошибки. |
ErrorResponse
Ответ на ошибку
| Имя | Тип | Описание |
|---|---|---|
| error |
Объект ошибки. |
SuggestDocumentsResult
Ответ, содержащий результаты запроса предложений из индекса.
| Имя | Тип | Описание |
|---|---|---|
| @search.coverage |
number (double) |
Значение, указывающее процент от индекса, который был включен в запрос, или null, если minimumCoverage не был задан в запросе. |
| value |
Последовательность результатов, возвращаемых запросом. |
SuggestRequest
Параметры для фильтрации, сортировки, нечеткого сопоставления и других вариантов поведения запросов.
| Имя | Тип | Описание |
|---|---|---|
| filter |
string |
Выражение OData, которое фильтрует рассмотренные документы на предмет предложений. |
| fuzzy |
boolean |
Значение, указывающее, следует ли использовать нечеткое сопоставление для запроса предложений. По умолчанию — false. Если задано значение true, запрос будет находить подсказки, даже если в тексте поиска есть замененный или отсутствующий символ. Хотя в некоторых сценариях это обеспечивает более эффективное взаимодействие, это приводит к снижению производительности, так как поиск нечетких предложений выполняется медленнее и потребляет больше ресурсов. |
| highlightPostTag |
string |
Тег строки, который добавляется к выделениям попадания. Должен быть установлен с помощью highlightPreTag. Если опущено, подсветка предложений будет отключена. |
| highlightPreTag |
string |
Тег string, который добавляется в начало для выделения попадания. Должен быть установлен с помощью highlightPostTag. Если опущено, подсветка предложений будет отключена. |
| minimumCoverage |
number (double) |
Число от 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 (int32) |
Количество предложений для извлечения. Это значение должно быть в диапазоне от 1 до 100. Значение по умолчанию равно 5. |
SuggestResult
Результат, содержащий документ, найденный с помощью запроса предложений, а также связанные метаданные.
| Имя | Тип | Описание |
|---|---|---|
| @search.text |
string |
Текст результата предложения. |