查询集
这是一项实验性功能,不建议在生产环境中使用。有关该功能的进展更新或您想提供反馈,请参阅相关的 GitHub issue。
查询集是查询的集合。这些查询用于搜索相关性评估实验。搜索相关性工作台(Search Relevance Workbench)提供不同的采样技术,用于从符合 用户行为洞察 (UBI) 规范的真实用户数据中创建查询集。此外,搜索相关性工作台还允许您导入查询集。
创建查询集
如果您正在使用 UBI 规范跟踪用户行为,您可以选择不同的采样方法,这些方法可以根据存储在 ubi_queries
索引中的真实用户查询创建查询集。
搜索相关性工作台支持三种采样方法
- 随机:从所有查询中随机抽取样本。
- 按规模比例抽样(Probability-Proportional-to-Size Sampling):对所有查询进行频率加权采样,以获得具有代表性的样本。
- Top N:获取最常出现的 N 个查询。
端点
POST _plugins/_search_relevance/query_sets
请求正文字段
下表列出了可用的输入参数。
字段 | 数据类型 | 描述 |
---|---|---|
名称 | 字符串 | 查询集的名称。 |
描述 | 字符串 | 查询集的简短描述。 |
采样方式 | 字符串 | 定义要使用的采样器。有效值包括 pptss (按规模比例抽样)、random (随机)、topn (最常用查询)和 manual (手动)。 |
查询集大小 | 整数 | 查询集中的目标查询数量。根据 ubi_queries 中唯一查询的数量,最终的查询集可能包含更少的查询。 |
示例请求:使用 Top N 采样器采样 20 个查询
POST _plugins/_search_relevance/query_sets
{
"name": "Top 20",
"description": "Top 20 most frequent queries sourced from user searches.",
"sampling": "topn",
"querySetSize": 20
}
示例请求:手动上传查询集
PUT _plugins/_search_relevance/query_sets
{
"name": "TVs",
"description": "TV queries",
"sampling": "manual",
"querySetQueries": [
{
"queryText": "tv"
},
{
"queryText": "led tv"
}
]
}
管理查询集
您可以使用以下 API 检索或删除查询集。
检索查询集
此 API 检索可用的查询集。
端点
GET _plugins/_search_relevance/query_sets
GET _plugins/_search_relevance/query_sets/<query_set_id>
示例响应
{
"took": 2,
"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-queryset",
"_id": "bb45c4c4-48ce-461b-acbc-f154c0a17ec9",
"_score": null,
"_source": {
"id": "bb45c4c4-48ce-461b-acbc-f154c0a17ec9",
"name": "TVs",
"description": "Some TVs that people might want",
"sampling": "manual",
"timestamp": "2025-06-11T13:43:26.676Z",
"querySetQueries": [
{
"queryText": "tv"
},
{
"queryText": "led tv"
}
]
},
"sort": [
1749649406676
]
}
]
}
}
路径参数
下表列出了可用的路径参数。
参数 | 数据类型 | 描述 |
---|---|---|
查询集 ID | 字符串 | 要检索的查询集的 ID。如果为空,则检索所有查询集。 |
删除查询集
您可以使用查询集 ID 删除查询集。
端点
DELETE _plugins/_search_relevance/query_sets/<query_set_id>
请求示例
DELETE _plugins/_search_relevance/query_sets/bb45c4c4-48ce-461b-acbc-f154c0a17ec9
示例响应
{
"_index": "search-relevance-queryset",
"_id": "bb45c4c4-48ce-461b-acbc-f154c0a17ec9",
"_version": 2,
"result": "deleted",
"forced_refresh": true,
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 17,
"_primary_term": 1
}