搜索配置
这是一个实验性功能,不建议在生产环境中使用。有关此功能的进展更新或提供反馈,请参阅相关的 GitHub 问题。
搜索配置定义了用于运行实验的查询模式,指定了如何构建和执行查询。
创建搜索配置
您可以定义搜索配置,以描述查询集中每个查询的运行方式。每个搜索配置都有一个名称,并包含一个查询体(OpenSearch 查询领域特定语言 [DSL] 中的查询)和目标索引。您可以选择为搜索配置定义一个搜索管道。
端点
PUT _plugins/_search_relevance/search_configurations
请求正文字段
下表列出了可用的输入参数。
字段 | 数据类型 | 描述 |
---|---|---|
名称 | 字符串 | 搜索配置的名称。 |
query | 对象 | 在 OpenSearch 查询 DSL 中定义查询。使用 %SearchText% 作为用户查询的占位符。需要进行转义。 |
index | 字符串 | 此搜索配置查询的目标索引。 |
searchPipeline | 字符串 | 指定一个现有搜索管道。可选。 |
示例请求:创建搜索配置
PUT _plugins/_search_relevance/search_configurations
{
"name": "baseline",
"query": "{\"query\":{\"multi_match\":{\"query\":\"%SearchText%\",\"fields\":[\"id\",\"title\",\"category\",\"bullets\",\"description\",\"attrs.Brand\",\"attrs.Color\"]}}}",
"index": "ecommerce"
}
管理搜索配置
您可以使用以下 API 检索或删除配置。
检索搜索配置
此 API 检索搜索配置。
端点
GET _plugins/_search_relevance/search_configurations
GET _plugins/_search_relevance/search_configurations/<search_configuration_id>
示例响应
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 1,
"relation": "eq"
},
"max_score": null,
"hits": [
{
"_index": "search-relevance-search-config",
"_id": "92810080-9c5a-470f-a0ff-0eb85e7b818c",
"_score": null,
"_source": {
"id": "92810080-9c5a-470f-a0ff-0eb85e7b818c",
"name": "baseline",
"timestamp": "2025-06-12T08:23:03.305Z",
"index": "ecommerce",
"query": """{"query":{"multi_match":{"query":"%SearchText%","fields":["id","title","category","bullets","description","attrs.Brand","attrs.Color"]}}}""",
"searchPipeline": ""
},
"sort": [
1749716583305
]
}
]
}
}
路径参数
下表列出了可用的路径参数。
参数 | 数据类型 | 描述 |
---|---|---|
search_configuration_id | 字符串 | 要检索的搜索配置 ID。如果为空,则检索所有搜索配置。 |
删除搜索配置
您可以使用搜索配置 ID 删除搜索配置。
端点
DELETE _plugins/_search_relevance/search_configurations/<search_configuration_id>
请求示例
DELETE _plugins/_search_relevance/search_configurations/bb45c4c4-48ce-461b-acbc-f154c0a17ec9
示例响应
{
"_index": "search-relevance-search-config",
"_id": "92810080-9c5a-470f-a0ff-0eb85e7b818c",
"_version": 2,
"result": "deleted",
"forced_refresh": true,
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 9,
"_primary_term": 1
}