搜索单个数据存储区的文档。
返回经过排序的子文档片段,每个片段都会引用其来源文档,并带有引用所需的出处信息。
HTTP 请求
POST https://vectorsearch.googleapis.com/v1beta/{parent}/documents:search
路径参数
| 参数 | |
|---|---|
parent |
必需。要搜索的数据存储区。格式: |
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 |
|---|
{ "topK": integer, "documentIds": [ string ], "rankingSpec": { object ( |
| 字段 | |
|---|---|
topK |
可选。要返回的结果数量。默认值为 10。大于 100 的值会强制转换为 100。 |
documentIds[] |
可选。将搜索范围限制为这些文档 ID。最多 100 个。如果为空,则搜索整个数据存储区。 |
rankingSpec |
可选。控制结果的排名方式。 |
filter |
可选。将搜索范围限制为与此过滤条件(
比较: {"$and": [{"metadata.year": {"$gte": 2025}}, {"unstructured_details.page_range.start_page": {"$lte": 20}}]} |
outputFields |
可选。每个结果中要返回的字段。 |
| 必需。要搜索的查询。必须且只能设置一种查询类型。以下是互斥字段的列表。在响应中,最多只能设置其中一个字段: | |
textQuery |
文本查询。 |
| 互斥字段结束。 | |
响应正文
DocumentSearchService.SearchDocuments 的响应消息。
如果成功,响应正文将包含结构如下的数据:
| JSON 表示法 |
|---|
{ "results": [ { object ( |
| 字段 | |
|---|---|
results[] |
仅限输出。与搜索条件匹配的文档片段,按相关性排序。 |
warnings[] |
仅限输出。执行期间发生的警告或非严重错误。 |
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/vectorsearchhttps://www.googleapis.com/auth/vectorsearch.readonly
如需了解详情,请参阅 Authentication Overview。
TextQuery
文本查询。
| JSON 表示法 |
|---|
{ "text": string } |
| 字段 | |
|---|---|
text |
必需。要搜索的文本。 |
RankingSpec
控制结果的排名方式。
| JSON 表示法 |
|---|
{
"rerankingSpec": {
object ( |
| 字段 | |
|---|---|
rerankingSpec |
可选。控制重排序阶段。 |
RerankingSpec
在混合检索和倒数排序融合 (RRF) 之后,对候选结果应用语义重排序的配置。
| JSON 表示法 |
|---|
{ "enabled": boolean, "rankOversamplingFactor": integer } |
| 字段 | |
|---|---|
enabled |
可选。是否对融合结果进行重排序。默认值为 false:除非调用方选择启用,否则结果会按 RRF 融合顺序返回。 启用后,重排序功能会在 Vertex Ranking Service 上使用
|
rankOversamplingFactor |
可选。在重排序之前对候选内容进行过采样的系数。检索到的用于重排序的候选集总数为 除非 如需在不进行过采样的情况下重新排名,请将此字段设置为 1。 |
OutputFields
除了每个结果都包含的字段之外,每个 DocumentSearchResult 还要返回的字段。
| JSON 表示法 |
|---|
{ "metadata": [ string ] } |
| 字段 | |
|---|---|
metadata[] |
可选。要在 |
DocumentSearchResult
文档的单个匹配片段。
| JSON 表示法 |
|---|
{ "document": { object ( |
| 字段 | |
|---|---|
document |
仅限输出。此片段所属的文档,包括其资源名称和提取来源的 Cloud Storage 位置。 请注意,并非所有 Document 字段都会填充。如需获取完整文档,请对返回的文档名称调用 documents.get。 |
片段在其文档中的位置详情。设置哪个字段取决于父级数据存储区的 document_type。以下是互斥字段的列表。在响应中,最多只能设置其中一个字段: |
|
videoDetails |
当父级数据存储区的 |
unstructuredDetails |
当父级数据存储区的 |
| 互斥字段结束。 | |
VideoSegmentDetails
在视频文档中定位片段。
| JSON 表示法 |
|---|
{ "startOffset": string, "endOffset": string } |
| 字段 | |
|---|---|
startOffset |
仅限输出。此片段相对于来源视频开头的起始位置。 该时长以秒为单位,最多包含九个小数位,以“ |
endOffset |
仅限输出。此片段相对于源视频开头的结束位置。 该时长以秒为单位,最多包含九个小数位,以“ |
UnstructuredSegmentDetails
在非结构化文档中定位一个片段,并携带其文本。
| JSON 表示法 |
|---|
{
"contentSnippet": string,
"pageRange": {
object ( |
| 字段 | |
|---|---|
contentSnippet |
仅限输出。片段的文本内容。 |
pageRange |
仅限输出。片段在源文档中的位置。针对 PDF、PowerPoint 和 Excel 文件设置,其中一页是指一个 PDF 页面、一张幻灯片或一个工作表。对于纯文本和 Word 文件,仅在文件拆分为页面时设置( |
PageRange
源文档中的页码范围。页码从 1 开始,范围包含起始页和结束页;单页表示为 startPage == endPage。
| JSON 表示法 |
|---|
{ "startPage": string, "endPage": string } |
| 字段 | |
|---|---|
startPage |
仅限输出。范围的第一页。 |
endPage |
仅限输出。范围的最后一页。 |