Documents - Search Post
Поиск документов в индексе.
POST {endpoint}/indexes('{indexName}')/docs/search.post.search?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) |
Идентификатор отслеживания, отправленный вместе с запросом на помощь в отладке. |
Текст запроса
| Имя | Тип | Описание |
|---|---|---|
| answers |
Значение, указывающее, должны ли ответы возвращаться в рамках ответа на поисковый запрос. |
|
| captions |
Значение, указывающее, должны ли заголовки возвращаться как часть ответа на поисковый запрос. |
|
| count |
boolean |
Значение, указывающее, следует ли получать общее количество результатов. По умолчанию — false. Установка этого значения в true может повлиять на производительность. Обратите внимание, что возвращаемое количество является приблизительным. |
| debug |
Включает средство отладки, которое можно использовать для дальнейшего изучения результатов с измененным рейтингом. |
|
| facets |
string[] |
Список фасетных выражений, которые должны быть применены к поисковому запросу. Каждое фасетное выражение содержит имя поля, за которым может следовать разделенный запятыми список пар имя:значение. |
| filter |
string |
Выражение OData $filter для применения к поисковому запросу. |
| highlight |
string |
Разделенный запятыми список имен полей, которые будут использоваться для выделения совпадений. Для выделения попаданий можно использовать только поля, доступные для поиска. |
| highlightPostTag |
string |
Тег строки, который добавляется к выделениям попадания. Должен быть установлен с помощью highlightPreTag. По умолчанию используется / <em>. |
| highlightPreTag |
string |
Тег string, который добавляется в начало для выделения попадания. Должен быть установлен с помощью highlightPostTag. По умолчанию используется em<>. |
| minimumCoverage |
number (double) |
Число от 0 до 100, указывающее процент индекса, который должен быть покрыт поисковым запросом, чтобы запрос был отмечен как успешный. Этот параметр может быть полезен для обеспечения доступности поиска даже для сервисов с одной репликой. Значение по умолчанию равно 100. |
| orderby |
string |
Разделенный запятыми список OData $orderby выражения, по которым сортируются результаты. Каждое выражение может быть либо именем поля, либо вызовом функций geo.distance() или search.score(). За каждым выражением может следовать asc для обозначения возрастания, или desc для обозначения убывания. По умолчанию используется порядок возрастания. Ничьи будут разбиты по счету матчей документов. Если $orderby не указан, порядок сортировки по умолчанию — по убыванию по счету совпадения документа. Их может быть не более 32 $orderby пунктов. |
| queryType |
Значение, определяющее синтаксис поискового запроса. Значение по умолчанию — 'simple'. Используйте 'full', если в вашем запросе используется синтаксис запроса Lucene. |
|
| scoringParameters |
string[] |
Список значений параметров, которые будут использоваться в функциях оценки (например, referencePointParameter) с использованием формата имя-значения. Например, если профиль оценки определяет функцию с параметром с именем 'mylocation', строка параметра будет "mylocation--122.2,44.8" (без кавычек). |
| scoringProfile |
string |
Имя профиля оценки для оценки сопоставления документов с целью сортировки результатов. |
| scoringStatistics |
Значение, указывающее, хотим ли мы вычислять статистику оценки (например, частоту выпуска документов) глобально для более стабильной оценки или локально для более низкой задержки. Значение по умолчанию — 'local'. Используйте 'global' для агрегирования статистики подсчета очков глобально перед подсчетом очков. Использование глобальной статистики скоринга может увеличить задержку поисковых запросов. |
|
| search |
string |
Выражение запроса полнотекстового поиска; Используйте "*" или опустите этот параметр, чтобы сопоставить все документы. |
| searchFields |
string |
Разделенный запятыми список имен полей, на которые должен быть направлен полнотекстовый поиск. При использовании поиска по полям (fieldName:searchExpression) в полном запросе Lucene имена полей каждого выражения поиска с полями имеют приоритет над любыми именами полей, перечисленными в этом параметре. |
| searchMode |
Значение, указывающее, должны ли быть сопоставлены некоторые или все условия поиска, чтобы документ считался совпадающим. |
|
| select |
string |
Список полей, разделенных запятыми, для извлечения. Если они не указаны, все поля, помеченные в схеме как доступные для извлечения, будут включены. |
| semanticConfiguration |
string |
Имя семантической конфигурации, которая будет использоваться при обработке документов для запросов типа семантический. |
| semanticErrorHandling |
Позволяет пользователю выбрать, должен ли семантический вызов завершиться полным сбоем (поведение по умолчанию / текущее) или возвращать частичные результаты. |
|
| semanticMaxWaitInMilliseconds |
integer (int32) minimum: 700 |
Позволяет пользователю установить верхнюю границу времени, необходимого для завершения обработки семантического обогащения до того, как запрос завершится сбоем. |
| semanticQuery |
string |
Позволяет задать отдельный поисковый запрос, который будет использоваться исключительно для семантического переранжирования, семантических подписей и семантических ответов. Полезно для сценариев, в которых необходимо использовать разные запросы между фазой извлечения базы и ранжирования и семантической фазой L2. |
| sessionId |
string |
Значение, используемое для создания закрепленного сеанса, который может помочь получить более стабильные результаты. Если используется один и тот же sessionId, будет предпринята попытка нацелиться на один и тот же набор реплик. Имейте в виду, что повторное использование одних и тех же значений sessionID может нарушить балансировку нагрузки запросов между репликами и отрицательно сказаться на производительности службы поиска. Значение, используемое в качестве sessionId, не может начинаться с символа "_". |
| skip |
integer (int32) |
Количество результатов поиска, которые необходимо пропустить. Это значение не может быть больше 100 000. Если вам нужно сканировать документы последовательно, но вы не можете использовать пропуск из-за этого ограничения, рассмотрите возможность использования orderby для полностью упорядоченного ключа и фильтрации с помощью запроса диапазона. |
| top |
integer (int32) |
Количество результатов поиска для получения. Это можно использовать в сочетании с $skip для реализации разбиения результатов поиска на клиентскую сторону. Если результаты усекаются из-за разбиения на страницы на стороне сервера, ответ будет содержать маркер продолжения, который можно использовать для отправки еще одного запроса поиска для следующей страницы результатов. |
| vectorFilterMode |
Определяет, применяются ли фильтры до или после выполнения векторного поиска. По умолчанию для новых индексов используется 'preFilter'. |
|
| vectorQueries | VectorQuery[]: |
Параметры запроса для векторных и гибридных поисковых запросов. |
Ответы
| Имя | Тип | Описание |
|---|---|---|
| 200 OK |
Ответ, содержащий документы, соответствующие критериям поиска. |
|
| Other Status Codes |
Ответ, содержащий частичные документы, соответствующие критериям поиска. |
|
| Other Status Codes |
Ответ на ошибку. |
Примеры
|
Search |
|
Search |
SearchIndexSearchDocumentsPost
Образец запроса
POST https://stableexampleservice.search.windows.net/indexes('stable-test')/docs/search.post.search?api-version=2025-09-01
{
"count": true,
"facets": [
"ownerId"
],
"filter": "category eq 'purple' or category eq 'pink'",
"highlight": "category",
"highlightPostTag": "</em>",
"highlightPreTag": "</em>",
"minimumCoverage": 100,
"queryType": "semantic",
"scoringStatistics": "global",
"sessionId": "mysessionid",
"scoringParameters": [
"categoryTag:desiredCategoryValue"
],
"scoringProfile": "stringFieldBoost",
"debug": "vector",
"search": "purple",
"searchFields": "id,name,description,category,ownerId",
"searchMode": "any",
"select": "id,name,description,category,ownerId",
"skip": 0,
"top": 10,
"semanticConfiguration": "testconfig",
"semanticErrorHandling": "partial",
"semanticMaxWaitInMilliseconds": 5000,
"semanticQuery": "find all purple",
"answers": "extractive",
"captions": "extractive",
"vectorQueries": [
{
"vector": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
],
"kind": "vector",
"k": 50,
"fields": "vector22, vector1b",
"exhaustive": true,
"weight": 1
}
],
"vectorFilterMode": "preFilter"
}
Пример ответа
{
"@odata.count": 42,
"@search.coverage": 100,
"@search.facets": {
"ownerId": [
{
"count": 26,
"value": "sam"
},
{
"count": 12,
"value": "ryan"
},
{
"count": 4,
"value": "benny"
}
]
},
"@search.answers": [],
"value": [
{
"@search.score": 0.04419642686843872,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.7178425788879395,
"@search.rerankerBoostedScore": 1.7178425788879395,
"@search.captions": [
{
"text": "test10 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.3862943649291992
},
"vectors": [
{
"vector22": {
"searchScore": 0.00011109876504633576,
"vectorSimilarity": 94.86833055544514
},
"vector1b": {
"searchScore": 0.0002499375259503722,
"vectorSimilarity": 63.24555189615253
}
}
]
}
}
},
"id": "10",
"name": "test",
"description": "test10 hello",
"category": "purple",
"ownerId": "benny"
},
{
"@search.score": 0.012820512987673283,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.7079174518585205,
"@search.rerankerBoostedScore": 1.7079174518585205,
"@search.captions": [
{
"text": "no vector.",
"highlights": "</em>no vector.</em>"
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.0779930353164673
},
"vectors": [
{}
]
}
}
},
"id": "empty-vectors",
"name": "test",
"description": "no vector",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.011627906933426857,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.7079174518585205,
"@search.rerankerBoostedScore": 1.7079174518585205,
"@search.captions": [
{
"text": "no vector.",
"highlights": "</em>no vector.</em>"
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{}
]
}
}
},
"id": "no-vectors",
"name": "test",
"description": "no vector",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.0431547611951828,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6994102001190186,
"@search.rerankerBoostedScore": 1.6994102001190186,
"@search.captions": [
{
"text": "test4 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{
"vector22": {
"searchScore": 0.00017358097829855978,
"vectorSimilarity": 75.89466323761327
},
"vector1b": {
"searchScore": 0.0005099439295008779,
"vectorSimilarity": 44.27188622909418
}
}
]
}
}
},
"id": "4",
"name": "test",
"description": "test4 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.04460374265909195,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6937386989593506,
"@search.rerankerBoostedScore": 1.6937386989593506,
"@search.captions": [
{
"text": "test2 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{
"vector22": {
"searchScore": 0.00020656888955272734,
"vectorSimilarity": 69.5701087211589
},
"vector1b": {
"searchScore": 0.0006939625018276274,
"vectorSimilarity": 37.947332584023194
}
}
]
}
}
},
"id": "2",
"name": "test",
"description": "test2 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.042533937841653824,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6923208236694336,
"@search.rerankerBoostedScore": 1.6923208236694336,
"@search.captions": [
{
"text": "test5 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{
"vector22": {
"searchScore": 0.00015997439913917333,
"vectorSimilarity": 79.0569427290381
},
"vector1b": {
"searchScore": 0.0004442470089998096,
"vectorSimilarity": 47.43416449302081
}
}
]
}
}
},
"id": "5",
"name": "test",
"description": "test5 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.04651741310954094,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.691611886024475,
"@search.rerankerBoostedScore": 1.691611886024475,
"@search.captions": [
{
"text": "test7 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.9616584777832031
},
"vectors": [
{
"vector22": {
"searchScore": 0.00013715539535041898,
"vectorSimilarity": 85.38149735825786
},
"vector1b": {
"searchScore": 0.00034590106224641204,
"vectorSimilarity": 53.758721003860366
}
}
]
}
}
},
"id": "7",
"name": "test",
"description": "test7 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.04703196510672569,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6781420707702637,
"@search.rerankerBoostedScore": 1.6781420707702637,
"@search.captions": [
{
"text": "test0 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.0779930353164673
},
"vectors": [
{
"vector22": {
"searchScore": 0.0002499375259503722,
"vectorSimilarity": 63.24555189615253
},
"vector1b": {
"searchScore": 0.0009990009712055326,
"vectorSimilarity": 31.622777042048124
}
}
]
}
}
},
"id": "0",
"name": "test",
"description": "test0 hello",
"category": "purple",
"ownerId": "benny"
},
{
"@search.score": 0.043300654739141464,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6653810739517212,
"@search.rerankerBoostedScore": 1.6653810739517212,
"@search.captions": [
{
"text": "test8 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.1507283449172974
},
"vectors": [
{
"vector22": {
"searchScore": 0.00012753476039506495,
"vectorSimilarity": 88.5437719937623
},
"vector1b": {
"searchScore": 0.0003085467324126512,
"vectorSimilarity": 56.92099902893652
}
}
]
}
}
},
"id": "8",
"name": "test",
"description": "test8 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.04082724079489708,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6618363857269287,
"@search.rerankerBoostedScore": 1.6618363857269287,
"@search.captions": [
{
"text": "test11 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{
"vector22": {
"searchScore": 0.00010404744534753263,
"vectorSimilarity": 98.03060760075451
},
"vector1b": {
"searchScore": 0.00022670596081297845,
"vectorSimilarity": 66.40783109116562
}
}
]
}
}
},
"id": "11",
"name": "test",
"description": "test11 hello",
"category": "purple",
"ownerId": "sam"
}
]
}
{
"@odata.count": 42,
"@search.coverage": 100,
"@search.facets": {
"ownerId": [
{
"count": 26,
"value": "sam"
},
{
"count": 12,
"value": "ryan"
},
{
"count": 4,
"value": "benny"
}
]
},
"@search.answers": [],
"value": [
{
"@search.score": 0.04419642686843872,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.7178425788879395,
"@search.rerankerBoostedScore": 1.7178425788879395,
"@search.captions": [
{
"text": "test10 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.3862943649291992
},
"vectors": [
{
"vector22": {
"searchScore": 0.00011109876504633576,
"vectorSimilarity": 94.86833055544514
},
"vector1b": {
"searchScore": 0.0002499375259503722,
"vectorSimilarity": 63.24555189615253
}
}
]
}
}
},
"id": "10",
"name": "test",
"description": "test10 hello",
"category": "purple",
"ownerId": "benny"
},
{
"@search.score": 0.012820512987673283,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.7079174518585205,
"@search.rerankerBoostedScore": 1.7079174518585205,
"@search.captions": [
{
"text": "no vector.",
"highlights": "</em>no vector.</em>"
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.0779930353164673
},
"vectors": [
{}
]
}
}
},
"id": "empty-vectors",
"name": "test",
"description": "no vector",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.011627906933426857,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.7079174518585205,
"@search.rerankerBoostedScore": 1.7079174518585205,
"@search.captions": [
{
"text": "no vector.",
"highlights": "</em>no vector.</em>"
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{}
]
}
}
},
"id": "no-vectors",
"name": "test",
"description": "no vector",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.0431547611951828,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6994102001190186,
"@search.rerankerBoostedScore": 1.6994102001190186,
"@search.captions": [
{
"text": "test4 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{
"vector22": {
"searchScore": 0.00017358097829855978,
"vectorSimilarity": 75.89466323761327
},
"vector1b": {
"searchScore": 0.0005099439295008779,
"vectorSimilarity": 44.27188622909418
}
}
]
}
}
},
"id": "4",
"name": "test",
"description": "test4 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.04460374265909195,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6937386989593506,
"@search.rerankerBoostedScore": 1.6937386989593506,
"@search.captions": [
{
"text": "test2 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{
"vector22": {
"searchScore": 0.00020656888955272734,
"vectorSimilarity": 69.5701087211589
},
"vector1b": {
"searchScore": 0.0006939625018276274,
"vectorSimilarity": 37.947332584023194
}
}
]
}
}
},
"id": "2",
"name": "test",
"description": "test2 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.042533937841653824,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6923208236694336,
"@search.rerankerBoostedScore": 1.6923208236694336,
"@search.captions": [
{
"text": "test5 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{
"vector22": {
"searchScore": 0.00015997439913917333,
"vectorSimilarity": 79.0569427290381
},
"vector1b": {
"searchScore": 0.0004442470089998096,
"vectorSimilarity": 47.43416449302081
}
}
]
}
}
},
"id": "5",
"name": "test",
"description": "test5 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.04651741310954094,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.691611886024475,
"@search.rerankerBoostedScore": 1.691611886024475,
"@search.captions": [
{
"text": "test7 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.9616584777832031
},
"vectors": [
{
"vector22": {
"searchScore": 0.00013715539535041898,
"vectorSimilarity": 85.38149735825786
},
"vector1b": {
"searchScore": 0.00034590106224641204,
"vectorSimilarity": 53.758721003860366
}
}
]
}
}
},
"id": "7",
"name": "test",
"description": "test7 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.04703196510672569,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6781420707702637,
"@search.rerankerBoostedScore": 1.6781420707702637,
"@search.captions": [
{
"text": "test0 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.0779930353164673
},
"vectors": [
{
"vector22": {
"searchScore": 0.0002499375259503722,
"vectorSimilarity": 63.24555189615253
},
"vector1b": {
"searchScore": 0.0009990009712055326,
"vectorSimilarity": 31.622777042048124
}
}
]
}
}
},
"id": "0",
"name": "test",
"description": "test0 hello",
"category": "purple",
"ownerId": "benny"
},
{
"@search.score": 0.043300654739141464,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6653810739517212,
"@search.rerankerBoostedScore": 1.6653810739517212,
"@search.captions": [
{
"text": "test8 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 1.1507283449172974
},
"vectors": [
{
"vector22": {
"searchScore": 0.00012753476039506495,
"vectorSimilarity": 88.5437719937623
},
"vector1b": {
"searchScore": 0.0003085467324126512,
"vectorSimilarity": 56.92099902893652
}
}
]
}
}
},
"id": "8",
"name": "test",
"description": "test8 hello",
"category": "purple",
"ownerId": "sam"
},
{
"@search.score": 0.04082724079489708,
"@search.highlights": {
"category": [
"</em>purple</em>"
]
},
"@search.rerankerScore": 1.6618363857269287,
"@search.rerankerBoostedScore": 1.6618363857269287,
"@search.captions": [
{
"text": "test11 hello.",
"highlights": ""
}
],
"@search.documentDebugInfo": {
"vectors": {
"subscores": {
"documentBoost": 1,
"text": {
"searchScore": 0.3250378668308258
},
"vectors": [
{
"vector22": {
"searchScore": 0.00010404744534753263,
"vectorSimilarity": 98.03060760075451
},
"vector1b": {
"searchScore": 0.00022670596081297845,
"vectorSimilarity": 66.40783109116562
}
}
]
}
}
},
"id": "11",
"name": "test",
"description": "test11 hello",
"category": "purple",
"ownerId": "sam"
}
]
}
SearchIndexSearchDocumentsSemanticPost
Образец запроса
POST https://myservice.search.windows.net/indexes('myindex')/docs/search.post.search?api-version=2025-09-01
{
"count": true,
"highlightPostTag": "</em>",
"highlightPreTag": "<em>",
"queryType": "semantic",
"search": "how do clouds form",
"semanticConfiguration": "my-semantic-config",
"answers": "extractive|count-3",
"captions": "extractive|highlight-true",
"semanticErrorHandling": "partial",
"semanticMaxWaitInMilliseconds": 780
}
Пример ответа
{
"@odata.count": 25,
"@search.answers": [
{
"key": "4123",
"text": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the atmosphere until it cools and condenses into water droplets. Clouds generally form where air is ascending (over land in this case), but not where it is descending (over the river).",
"highlights": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the atmosphere until it cools and condenses into water droplets. Clouds generally form<em> where air is ascending</em> (over land in this case), but not where it is<em> descending</em> (over the river).",
"score": 0.94639826
}
],
"@search.nextPageParameters": {
"count": true,
"highlightPostTag": "</em>",
"highlightPreTag": "<em>",
"queryType": "semantic",
"search": "how do clouds form",
"semanticConfiguration": "my-semantic-config",
"answers": "extractive|count-3",
"captions": "extractive|highlight-true",
"semanticErrorHandling": "partial",
"semanticMaxWaitInMilliseconds": 780,
"skip": 2,
"top": 8
},
"value": [
{
"@search.score": 0.5479723,
"@search.rerankerScore": 1.0321671911515296,
"@search.captions": [
{
"text": "Like all clouds, it forms when the air reaches its dew point—the temperature at which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley fog, which is common in the Pacific Northwest of North America.",
"highlights": "Like all<em> clouds</em>, it<em> forms</em> when the air reaches its dew point—the temperature at which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley<em> fog</em>, which is common in the Pacific Northwest of North America."
}
],
"id": "4123",
"title": "Earth Atmosphere",
"content": "Fog is essentially a cloud lying on the ground. Like all clouds, it forms when the air reaches its dew point—the temperature at \n\nwhich an air mass is cool enough for its water vapor to condense into liquid droplets.\n\nThis false-color image shows valley fog, which is common in the Pacific Northwest of North America. On clear winter nights, the \n\nground and overlying air cool off rapidly, especially at high elevations. Cold air is denser than warm air, and it sinks down into the \n\nvalleys. The moist air in the valleys gets chilled to its dew point, and fog forms. If undisturbed by winds, such fog may persist for \n\ndays. The Terra satellite captured this image of foggy valleys northeast of Vancouver in February 2010.\n\n\n",
"locations": [
"Pacific Northwest",
"North America",
"Vancouver"
]
}
],
"@odata.nextLink": "https://myservice.search.windows.net/indexes('myindex')/docs/search.post.search?api-version=2024-07-01"
}
{
"@odata.count": 25,
"@search.answers": [
{
"key": "4123",
"text": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the atmosphere until it cools and condenses into water droplets. Clouds generally form where air is ascending (over land in this case), but not where it is descending (over the river).",
"highlights": "Sunlight heats the land all day, warming that moist air and causing it to rise high into the atmosphere until it cools and condenses into water droplets. Clouds generally form<em> where air is ascending</em> (over land in this case), but not where it is<em> descending</em> (over the river).",
"score": 0.94639826
}
],
"@search.nextPageParameters": {
"count": true,
"highlightPostTag": "</em>",
"highlightPreTag": "<em>",
"queryType": "semantic",
"search": "how do clouds form",
"semanticConfiguration": "my-semantic-config",
"answers": "extractive|count-3",
"captions": "extractive|highlight-true",
"semanticErrorHandling": "partial",
"semanticMaxWaitInMilliseconds": 780,
"skip": 2,
"top": 8
},
"value": [
{
"@search.score": 0.5479723,
"@search.rerankerScore": 1.0321671911515296,
"@search.captions": [
{
"text": "Like all clouds, it forms when the air reaches its dew point—the temperature at which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley fog, which is common in the Pacific Northwest of North America.",
"highlights": "Like all<em> clouds</em>, it<em> forms</em> when the air reaches its dew point—the temperature at which an air mass is cool enough for its water vapor to condense into liquid droplets. This false-color image shows valley<em> fog</em>, which is common in the Pacific Northwest of North America."
}
],
"id": "4123",
"title": "Earth Atmosphere",
"content": "Fog is essentially a cloud lying on the ground. Like all clouds, it forms when the air reaches its dew point—the temperature at \n\nwhich an air mass is cool enough for its water vapor to condense into liquid droplets.\n\nThis false-color image shows valley fog, which is common in the Pacific Northwest of North America. On clear winter nights, the \n\nground and overlying air cool off rapidly, especially at high elevations. Cold air is denser than warm air, and it sinks down into the \n\nvalleys. The moist air in the valleys gets chilled to its dew point, and fog forms. If undisturbed by winds, such fog may persist for \n\ndays. The Terra satellite captured this image of foggy valleys northeast of Vancouver in February 2010.\n\n\n",
"locations": [
"Pacific Northwest",
"North America",
"Vancouver"
]
}
],
"@odata.nextLink": "https://myservice.search.windows.net/indexes('myindex')/docs/search.post.search?api-version=2024-07-01"
}
Определения
| Имя | Описание |
|---|---|
|
Answer |
Ответ — это фрагмент текста, извлеченный из содержимого наиболее релевантных документов, соответствующих запросу. Ответы извлекаются из верхних результатов поиска. Кандидаты на ответы оцениваются, и отбираются лучшие ответы. |
|
Caption |
Подписи – это наиболее репрезентативные отрывки из документа относительно поискового запроса. Они часто используются в качестве резюме документа. Подписи возвращаются только для запросов типа |
|
Document |
Содержит отладочную информацию, которую можно использовать для дальнейшего изучения результатов поиска. |
|
Error |
Дополнительные сведения об ошибке управления ресурсами. |
|
Error |
Сведения об ошибке. |
|
Error |
Ответ на ошибку |
|
Query |
Значение, указывающее, должны ли ответы возвращаться в рамках ответа на поисковый запрос. |
|
Query |
Значение, указывающее, должны ли заголовки возвращаться как часть ответа на поисковый запрос. |
|
Query |
Включает средство отладки, которое можно использовать для дальнейшего изучения результатов поиска. |
|
Query |
Разбивка промежуточных оценок между текстовым и векторным компонентами поискового запроса для данного документа. Каждый векторный запрос отображается как отдельный объект в том же порядке, в котором они были получены. |
|
Query |
Указывает синтаксис поискового запроса. Значение по умолчанию — 'simple'. Используйте 'full', если в вашем запросе используется синтаксис запроса Lucene. |
|
Raw |
Параметры запроса, используемые для векторного поиска, когда предоставлено необработанное векторное значение. |
|
Scoring |
Значение, указывающее, хотим ли мы вычислять статистику оценки (например, частоту выпуска документов) глобально для более стабильной оценки или локально для более низкой задержки. Значение по умолчанию — 'local'. Используйте 'global' для агрегирования статистики подсчета очков глобально перед подсчетом очков. Использование глобальной статистики скоринга может увеличить задержку поисковых запросов. |
|
Search |
Ответ, содержащий результаты поиска из индекса. |
|
Search |
Указывает, должны ли быть сопоставлены некоторые или все условия поиска, чтобы документ считался совпадающим. |
|
Search |
Параметры для фильтрации, сортировки, фасетизации, разбиения на страницы и других действий поисковых запросов. |
|
Search |
Содержит документ, найденный по поисковому запросу, а также связанные с ним метаданные. |
|
Semantic |
Позволяет пользователю выбрать, должен ли семантический вызов завершиться полным сбоем (поведение по умолчанию / текущее) или возвращать частичные результаты. |
|
Semantic |
Причина, по которой был возвращен частичный ответ на запрос семантического ранжирования. |
|
Semantic |
Тип частичного ответа, который был возвращен для запроса семантического ранжирования. |
|
Single |
Результат с одним векторным полем. Возвращаются оба @search.score значения сходства векторов. Векторное подобие связано с @search.score уравнением. |
|
Text |
Оценка BM25 или Classic для текстовой части запроса. |
|
Vector |
Определяет, применяются ли фильтры до или после выполнения векторного поиска. |
|
Vectorizable |
Параметры запроса, используемые для векторного поиска, когда предоставлено текстовое значение, которое необходимо векторизовать. |
|
Vector |
Тип выполняемого векторного запроса. |
|
Vectors |
AnswerResult
Ответ — это фрагмент текста, извлеченный из содержимого наиболее релевантных документов, соответствующих запросу. Ответы извлекаются из верхних результатов поиска. Кандидаты на ответы оцениваются, и отбираются лучшие ответы.
| Имя | Тип | Описание |
|---|---|---|
| highlights |
string |
Тот же фрагмент текста, что и в свойстве Text, с выделенными текстовыми фразами, наиболее релевантными запросу. |
| key |
string |
Ключ документа, из которого был извлечен ответ. |
| score |
number (double) |
Значение балла показывает, насколько ответ соответствует запросу по сравнению с другими ответами, возвращенными для запроса. |
| text |
string |
Фрагмент текста, извлеченный из содержимого документа в качестве ответа. |
CaptionResult
Подписи – это наиболее репрезентативные отрывки из документа относительно поискового запроса. Они часто используются в качестве резюме документа. Подписи возвращаются только для запросов типа semantic.
| Имя | Тип | Описание |
|---|---|---|
| highlights |
string |
Тот же фрагмент текста, что и в свойстве Text, с выделенными фразами, наиболее релевантными запросу. |
| text |
string |
Репрезентативный фрагмент текста, извлеченный из документа, наиболее релевантного поисковому запросу. |
DocumentDebugInfo
Содержит отладочную информацию, которую можно использовать для дальнейшего изучения результатов поиска.
| Имя | Тип | Описание |
|---|---|---|
| vectors |
Содержит отладочную информацию, относящуюся к векторному и гибридному поиску. |
ErrorAdditionalInfo
Дополнительные сведения об ошибке управления ресурсами.
| Имя | Тип | Описание |
|---|---|---|
| info |
object |
Дополнительная информация. |
| type |
string |
Тип дополнительной информации. |
ErrorDetail
Сведения об ошибке.
| Имя | Тип | Описание |
|---|---|---|
| additionalInfo |
Ошибка дополнительная информация. |
|
| code |
string |
Код ошибки. |
| details |
Сведения об ошибке. |
|
| message |
string |
Сообщение об ошибке. |
| target |
string |
Цель ошибки. |
ErrorResponse
Ответ на ошибку
| Имя | Тип | Описание |
|---|---|---|
| error |
Объект ошибки. |
QueryAnswerType
Значение, указывающее, должны ли ответы возвращаться в рамках ответа на поисковый запрос.
| Значение | Описание |
|---|---|
| none |
Не возвращайте ответы на запрос. |
| extractive |
Извлекает кандидатов на ответ из содержимого документов, возвращенных в ответ на вопрос, выраженный в виде вопроса на естественном языке. |
QueryCaptionType
Значение, указывающее, должны ли заголовки возвращаться как часть ответа на поисковый запрос.
| Значение | Описание |
|---|---|
| none |
Не возвращайте заголовки для запроса. |
| extractive |
Извлекает подписи из соответствующих документов, которые содержат отрывки, относящиеся к поисковому запросу. |
QueryDebugMode
Включает средство отладки, которое можно использовать для дальнейшего изучения результатов поиска.
| Значение | Описание |
|---|---|
| disabled |
Сведения об отладке запросов возвращаться не будут. |
| vector |
Позволяет пользователю дополнительно изучить результаты гибридных и векторных запросов. |
QueryResultDocumentSubscores
Разбивка промежуточных оценок между текстовым и векторным компонентами поискового запроса для данного документа. Каждый векторный запрос отображается как отдельный объект в том же порядке, в котором они были получены.
| Имя | Тип | Описание |
|---|---|---|
| documentBoost |
number (double) |
Оценка BM25 или Classic для текстовой части запроса. |
| text |
Оценка BM25 или Classic для текстовой части запроса. |
|
| vectors |
<string,
Single |
Сходство вектора и @search.score значения для каждого векторного запроса. |
QueryType
Указывает синтаксис поискового запроса. Значение по умолчанию — 'simple'. Используйте 'full', если в вашем запросе используется синтаксис запроса Lucene.
| Значение | Описание |
|---|---|
| simple |
Использует простой синтаксис запросов для поиска. Текст поиска интерпретируется с помощью простого языка запросов, который позволяет использовать такие символы, как +, * и "". По умолчанию запросы оцениваются по всем полям, доступным для поиска, если не указан параметр searchFields. |
| full |
Использует полный синтаксис запросов Lucene для поиска. Текст поиска интерпретируется с помощью языка запросов Lucene, который позволяет выполнять поиск по конкретным полям и взвешенный поиск, а также использовать другие расширенные функции. |
| semantic |
Лучше всего подходит для запросов, выраженных на естественном языке, а не ключевых слов. Повышает точность результатов поиска за счет повторного ранжирования верхних результатов поиска с помощью модели ранжирования, обученной на веб-корпусе. |
RawVectorQuery
Параметры запроса, используемые для векторного поиска, когда предоставлено необработанное векторное значение.
| Имя | Тип | Описание |
|---|---|---|
| exhaustive |
boolean |
При значении true инициируется исчерпывающий поиск k-ближайшего соседа по всем векторам в пределах векторного индекса. Полезно для сценариев, в которых точное совпадение имеет решающее значение, например для определения наземных значений достоверной достоверности. |
| fields |
string |
Векторные поля типа Collection(Edm.Single) для включения в вектор поиска. |
| k |
integer (int32) |
Количество ближайших соседей, которые возвращаются в качестве топовых хитов. |
| kind |
string:
vector |
Тип выполняемого векторного запроса. |
| oversampling |
number (double) |
Коэффициент передискретизации. Минимальное значение равно 1. Он переопределяет параметр 'defaultOversampling', настроенный в определении индекса. Он может быть установлен только в том случае, если 'rerankWithOriginalVectors' имеет значение true. Этот параметр разрешен только в том случае, если метод сжатия используется для базового векторного поля. |
| vector |
number[] (float) |
Векторное представление поискового запроса. |
| weight |
number (float) |
Относительный вес векторного запроса по сравнению с другим векторным запросом и/или текстовым запросом в рамках того же поискового запроса. Это значение используется при объединении результатов нескольких рейтинговых списков, созданных различными векторными запросами, и/или результатов, полученных с помощью текстового запроса. Чем выше вес, тем выше будут документы, соответствующие этому запросу, в итоговом рейтинге. Значение по умолчанию равно 1.0, и значение должно быть положительным числом больше нуля. |
ScoringStatistics
Значение, указывающее, хотим ли мы вычислять статистику оценки (например, частоту выпуска документов) глобально для более стабильной оценки или локально для более низкой задержки. Значение по умолчанию — 'local'. Используйте 'global' для агрегирования статистики подсчета очков глобально перед подсчетом очков. Использование глобальной статистики скоринга может увеличить задержку поисковых запросов.
| Значение | Описание |
|---|---|
| local |
Статистика оценки будет рассчитываться локально для снижения задержки. |
| global |
Статистика подсчета очков будет рассчитываться глобально для более последовательного подсчета очков. |
SearchDocumentsResult
Ответ, содержащий результаты поиска из индекса.
| Имя | Тип | Описание |
|---|---|---|
| @odata.count |
integer (int64) |
Общее количество результатов, найденных операцией поиска, или NULL, если счетчик не был запрошен. Если оно присутствует, количество может быть больше, чем количество результатов в этом ответе. Это может произойти, если вы используете параметры $top или $skip, или если запрос не может вернуть все запрошенные документы в одном ответе. |
| @odata.nextLink |
string |
URL-адрес продолжения возвращается, когда запрос не может вернуть все запрошенные результаты в одном ответе. Вы можете использовать этот URL для формулирования другого поискового запроса GET или POST, чтобы получить следующую часть ответа на поиск. Убедитесь, что используется тот же глагол (GET или POST), что и в запросе, который вызвал этот ответ. |
| @search.answers |
Ответы запрашивают результаты операции поиска; null, если параметр запроса ответов не был указан или установлен в значение "None". |
|
| @search.coverage |
number (double) |
Значение, указывающее процент от индекса, который был включен в запрос, или null, если minimumCoverage не был указан в запросе. |
| @search.facets |
object |
Результаты фасетного запроса для операции поиска, организованные в виде коллекции контейнеров для каждого фасетного поля; null, если запрос не содержал выражений фасетов. |
| @search.nextPageParameters |
Полезные данные продолжения JSON возвращаются, когда запрос не может вернуть все запрошенные результаты в одном ответе. Вы можете использовать этот JSON вместе с @odata.nextLink ним для формулирования другого запроса поиска POST, чтобы получить следующую часть ответа на поиск. |
|
| @search.semanticPartialResponseReason |
Причина, по которой был возвращен частичный ответ на запрос семантического ранжирования. |
|
| @search.semanticPartialResponseType |
Тип частичного ответа, который был возвращен для запроса семантического ранжирования. |
|
| value |
Последовательность результатов, возвращаемых запросом. |
SearchMode
Указывает, должны ли быть сопоставлены некоторые или все условия поиска, чтобы документ считался совпадающим.
| Значение | Описание |
|---|---|
| any |
Любой из поисковых запросов должен быть совпадающим, чтобы документ был засчитан как совпадающий. |
| all |
Все условия поиска должны быть совпадающими, чтобы документ был засчитан как совпадающий. |
SearchRequest
Параметры для фильтрации, сортировки, фасетизации, разбиения на страницы и других действий поисковых запросов.
| Имя | Тип | Описание |
|---|---|---|
| answers |
Значение, указывающее, должны ли ответы возвращаться в рамках ответа на поисковый запрос. |
|
| captions |
Значение, указывающее, должны ли заголовки возвращаться как часть ответа на поисковый запрос. |
|
| count |
boolean |
Значение, указывающее, следует ли получать общее количество результатов. По умолчанию — false. Установка этого значения в true может повлиять на производительность. Обратите внимание, что возвращаемое количество является приблизительным. |
| debug |
Включает средство отладки, которое можно использовать для дальнейшего изучения результатов с измененным рейтингом. |
|
| facets |
string[] |
Список фасетных выражений, которые должны быть применены к поисковому запросу. Каждое фасетное выражение содержит имя поля, за которым может следовать разделенный запятыми список пар имя:значение. |
| filter |
string |
Выражение OData $filter для применения к поисковому запросу. |
| highlight |
string |
Разделенный запятыми список имен полей, которые будут использоваться для выделения совпадений. Для выделения попаданий можно использовать только поля, доступные для поиска. |
| highlightPostTag |
string |
Тег строки, который добавляется к выделениям попадания. Должен быть установлен с помощью highlightPreTag. По умолчанию используется / <em>. |
| highlightPreTag |
string |
Тег string, который добавляется в начало для выделения попадания. Должен быть установлен с помощью highlightPostTag. По умолчанию используется em<>. |
| minimumCoverage |
number (double) |
Число от 0 до 100, указывающее процент индекса, который должен быть покрыт поисковым запросом, чтобы запрос был отмечен как успешный. Этот параметр может быть полезен для обеспечения доступности поиска даже для сервисов с одной репликой. Значение по умолчанию равно 100. |
| orderby |
string |
Разделенный запятыми список OData $orderby выражения, по которым сортируются результаты. Каждое выражение может быть либо именем поля, либо вызовом функций geo.distance() или search.score(). За каждым выражением может следовать asc для обозначения возрастания, или desc для обозначения убывания. По умолчанию используется порядок возрастания. Ничьи будут разбиты по счету матчей документов. Если $orderby не указан, порядок сортировки по умолчанию — по убыванию по счету совпадения документа. Их может быть не более 32 $orderby пунктов. |
| queryType |
Значение, определяющее синтаксис поискового запроса. Значение по умолчанию — 'simple'. Используйте 'full', если в вашем запросе используется синтаксис запроса Lucene. |
|
| scoringParameters |
string[] |
Список значений параметров, которые будут использоваться в функциях оценки (например, referencePointParameter) с использованием формата имя-значения. Например, если профиль оценки определяет функцию с параметром с именем 'mylocation', строка параметра будет "mylocation--122.2,44.8" (без кавычек). |
| scoringProfile |
string |
Имя профиля оценки для оценки сопоставления документов с целью сортировки результатов. |
| scoringStatistics |
Значение, указывающее, хотим ли мы вычислять статистику оценки (например, частоту выпуска документов) глобально для более стабильной оценки или локально для более низкой задержки. Значение по умолчанию — 'local'. Используйте 'global' для агрегирования статистики подсчета очков глобально перед подсчетом очков. Использование глобальной статистики скоринга может увеличить задержку поисковых запросов. |
|
| search |
string |
Выражение запроса полнотекстового поиска; Используйте "*" или опустите этот параметр, чтобы сопоставить все документы. |
| searchFields |
string |
Разделенный запятыми список имен полей, на которые должен быть направлен полнотекстовый поиск. При использовании поиска по полям (fieldName:searchExpression) в полном запросе Lucene имена полей каждого выражения поиска с полями имеют приоритет над любыми именами полей, перечисленными в этом параметре. |
| searchMode |
Значение, указывающее, должны ли быть сопоставлены некоторые или все условия поиска, чтобы документ считался совпадающим. |
|
| select |
string |
Список полей, разделенных запятыми, для извлечения. Если они не указаны, все поля, помеченные в схеме как доступные для извлечения, будут включены. |
| semanticConfiguration |
string |
Имя семантической конфигурации, которая будет использоваться при обработке документов для запросов типа семантический. |
| semanticErrorHandling |
Позволяет пользователю выбрать, должен ли семантический вызов завершиться полным сбоем (поведение по умолчанию / текущее) или возвращать частичные результаты. |
|
| semanticMaxWaitInMilliseconds |
integer (int32) minimum: 700 |
Позволяет пользователю установить верхнюю границу времени, необходимого для завершения обработки семантического обогащения до того, как запрос завершится сбоем. |
| semanticQuery |
string |
Позволяет задать отдельный поисковый запрос, который будет использоваться исключительно для семантического переранжирования, семантических подписей и семантических ответов. Полезно для сценариев, в которых необходимо использовать разные запросы между фазой извлечения базы и ранжирования и семантической фазой L2. |
| sessionId |
string |
Значение, используемое для создания закрепленного сеанса, который может помочь получить более стабильные результаты. Если используется один и тот же sessionId, будет предпринята попытка нацелиться на один и тот же набор реплик. Имейте в виду, что повторное использование одних и тех же значений sessionID может нарушить балансировку нагрузки запросов между репликами и отрицательно сказаться на производительности службы поиска. Значение, используемое в качестве sessionId, не может начинаться с символа "_". |
| skip |
integer (int32) |
Количество результатов поиска, которые необходимо пропустить. Это значение не может быть больше 100 000. Если вам нужно сканировать документы последовательно, но вы не можете использовать пропуск из-за этого ограничения, рассмотрите возможность использования orderby для полностью упорядоченного ключа и фильтрации с помощью запроса диапазона. |
| top |
integer (int32) |
Количество результатов поиска для получения. Это можно использовать в сочетании с $skip для реализации разбиения результатов поиска на клиентскую сторону. Если результаты усекаются из-за разбиения на страницы на стороне сервера, ответ будет содержать маркер продолжения, который можно использовать для отправки еще одного запроса поиска для следующей страницы результатов. |
| vectorFilterMode |
Определяет, применяются ли фильтры до или после выполнения векторного поиска. По умолчанию для новых индексов используется 'preFilter'. |
|
| vectorQueries | VectorQuery[]: |
Параметры запроса для векторных и гибридных поисковых запросов. |
SearchResult
Содержит документ, найденный по поисковому запросу, а также связанные с ним метаданные.
| Имя | Тип | Описание |
|---|---|---|
| @search.captions |
Подписи – это наиболее репрезентативные отрывки из документа относительно поискового запроса. Они часто используются в качестве резюме документа. Подписи возвращаются только для запросов типа 'semantic'. |
|
| @search.documentDebugInfo |
Содержит отладочную информацию, которую можно использовать для дальнейшего изучения результатов поиска. |
|
| @search.highlights |
object |
Текстовые фрагменты из документа, указывающие на соответствующие условия поиска, организованные по каждому применимому полю; null, если для запроса не было включено выделение хитов. |
| @search.rerankerBoostedScore |
number (double) |
Оценка релевантности, рассчитанная путем повышения Reranker Score. Результаты поиска сортируются по RerankerScore/RerankerBoostedScore на основе useScoringProfileBoostedRanking в семантической конфигурации. RerankerBoostedScore возвращается только для запросов типа 'semantic' |
| @search.rerankerScore |
number (double) |
Оценка релевантности, рассчитанная семантическим ранжированием для первых результатов поиска. Результаты поиска сначала сортируются по RerankerScore, а затем по Score. RerankerScore возвращается только для запросов типа 'semantic'. |
| @search.score |
number (double) |
Оценка релевантности документа по сравнению с другими документами, возвращенными запросом. |
SemanticErrorMode
Позволяет пользователю выбрать, должен ли семантический вызов завершиться полным сбоем (поведение по умолчанию / текущее) или возвращать частичные результаты.
| Значение | Описание |
|---|---|
| partial |
Если семантическая обработка завершается сбоем, частичные результаты все равно возвращаются. Определение частичных результатов зависит от того, какой семантический шаг не прошел и что послужило причиной неудачи. |
| fail |
Если на этапе семантической обработки возникнет исключение, запрос завершится ошибкой и вернет соответствующий HTTP-код. |
SemanticErrorReason
Причина, по которой был возвращен частичный ответ на запрос семантического ранжирования.
| Значение | Описание |
|---|---|
| maxWaitExceeded |
if |
| capacityOverloaded |
Запрос был отклонен. Были возвращены только базовые результаты. |
| transient |
По крайней мере, один шаг семантического процесса не удался. |
SemanticSearchResultsType
Тип частичного ответа, который был возвращен для запроса семантического ранжирования.
| Значение | Описание |
|---|---|
| baseResults |
Результаты без какого-либо семантического обогащения или переранжирования. |
| rerankedResults |
Результаты были переранжированы с помощью модели reranker и будут включать семантические подписи. Они не будут включать в себя ответы, основные моменты ответов или подписи. |
SingleVectorFieldResult
Результат с одним векторным полем. Возвращаются оба @search.score значения сходства векторов. Векторное подобие связано с @search.score уравнением.
| Имя | Тип | Описание |
|---|---|---|
| searchScore |
number (double) |
Значение @search.score , которое вычисляется на основе оценки векторного сходства. Это оценка, которая отображается в чисто однополевом одновекторном запросе. |
| vectorSimilarity |
number (double) |
Оценка векторного сходства для этого документа. Обратите внимание, что это каноническое определение метрики сходства, а не версия «расстояния». Например, косинусное сходство вместо косинусного расстояния. |
TextResult
Оценка BM25 или Classic для текстовой части запроса.
| Имя | Тип | Описание |
|---|---|---|
| searchScore |
number (double) |
Оценка BM25 или Classic для текстовой части запроса. |
VectorFilterMode
Определяет, применяются ли фильтры до или после выполнения векторного поиска.
| Значение | Описание |
|---|---|
| postFilter |
Фильтр будет применен после того, как будет возвращен потенциальный набор векторных результатов. В зависимости от избирательности фильтра это может привести к меньшему количеству результатов, чем запрашивает параметр 'k'. |
| preFilter |
Фильтр будет применен перед поисковым запросом. |
VectorizableTextQuery
Параметры запроса, используемые для векторного поиска, когда предоставлено текстовое значение, которое необходимо векторизовать.
| Имя | Тип | Описание |
|---|---|---|
| exhaustive |
boolean |
При значении true инициируется исчерпывающий поиск k-ближайшего соседа по всем векторам в пределах векторного индекса. Полезно для сценариев, в которых точное совпадение имеет решающее значение, например для определения наземных значений достоверной достоверности. |
| fields |
string |
Векторные поля типа Collection(Edm.Single) для включения в вектор поиска. |
| k |
integer (int32) |
Количество ближайших соседей, которые возвращаются в качестве топовых хитов. |
| kind |
string:
text |
Тип выполняемого векторного запроса. |
| oversampling |
number (double) |
Коэффициент передискретизации. Минимальное значение равно 1. Он переопределяет параметр 'defaultOversampling', настроенный в определении индекса. Он может быть установлен только в том случае, если 'rerankWithOriginalVectors' имеет значение true. Этот параметр разрешен только в том случае, если метод сжатия используется для базового векторного поля. |
| text |
string |
Текст, который необходимо векторизовать для выполнения векторного поискового запроса. |
| weight |
number (float) |
Относительный вес векторного запроса по сравнению с другим векторным запросом и/или текстовым запросом в рамках того же поискового запроса. Это значение используется при объединении результатов нескольких рейтинговых списков, созданных различными векторными запросами, и/или результатов, полученных с помощью текстового запроса. Чем выше вес, тем выше будут документы, соответствующие этому запросу, в итоговом рейтинге. Значение по умолчанию равно 1.0, и значение должно быть положительным числом больше нуля. |
VectorQueryKind
Тип выполняемого векторного запроса.
| Значение | Описание |
|---|---|
| vector |
Векторный запрос, в котором предоставляется исходное векторное значение. |
| text |
Векторный запрос, в котором указывается текстовое значение, которое необходимо векторизовать. |
VectorsDebugInfo
| Имя | Тип | Описание |
|---|---|---|
| subscores |
Разбивка промежуточных оценок документа перед выбранным методом слияния/комбинирования наборов результатов, таким как RRF. |