Link Search Menu Expand Document Documentation Menu

比较查询集

这是一个实验性功能,不建议在生产环境中使用。有关该功能进展的更新或如果您想提供反馈,请参阅相关的 GitHub 问题

要比较两种不同搜索配置的结果,您可以运行成对实验。为此,您需要两种搜索配置和一个用于搜索配置的查询集。

有关创建查询集的更多信息,请参阅查询集

有关创建搜索配置的更多信息,请参阅搜索配置

创建成对实验

实验用于比较两种不同搜索配置之间的指标。实验会根据指定的搜索配置显示每个查询的 Top N 结果。在仪表板中,您可以查看查询集中任何查询返回的文档,并确定哪种搜索配置返回更相关的结果。此外,您还可以使用提供的相似性指标来衡量两个返回的搜索结果列表之间的相似性。

示例

要为指定的查询集和搜索配置创建成对比较实验,请发送以下请求:

PUT _plugins/_search_relevance/experiments
{
    "querySetId": "8368a359-146b-4690-b756-40591b2fcddb",
   	"searchConfigurationList": ["a5acc9f3-6ad7-43f4-9651-fe118c499bc6", "26c7255c-c36e-42fb-b5b2-633dbf8e53b6"],
   	"size": 10,
   	"type": "PAIRWISE_COMPARISON"
}

请求正文字段

下表列出了可用的输入参数。

字段 数据类型 描述
querySetId 字符串 查询集 ID。
searchConfigurationList 列表 用于比较的搜索配置 ID 列表。
size 整数 结果中要返回的文档数量。
type 字符串 定义要运行的实验类型。有效值为 PAIRWISE_COMPARISONHYBRID_OPTIMIZERPOINTWISE_EVALUATION。根据实验类型,您必须在请求中提供不同的请求正文字段。PAIRWISE_COMPARISON 用于将两个搜索配置与一个查询集进行比较,详见此处HYBRID_OPTIMIZER 用于组合结果,详见此处POINTWISE_EVALUATION 用于根据判断评估搜索配置,详见此处

响应包含已创建实验的实验 ID。

{
    "experiment_id": "cbd2c209-96d1-4012-aa73-e524b7a1b11a",
    "experiment_result": "CREATED"
}

解释实验结果

要解释实验结果,请使用以下操作。

检索实验结果

使用以下 API 检索特定实验的结果。

端点

GET _plugins/_search_relevance/experiments
GET _plugins/_search_relevance/experiments/<experiment_id>

路径参数

下表列出了可用的路径参数。

参数 数据类型 描述
experiment_id 字符串 要检索的实验 ID。为空时检索所有实验。

请求示例

GET _plugins/_search_relevance/experiments/cbd2c209-96d1-4012-aa73-e524b7a1b11a

示例响应

{
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 1,
      "relation": "eq"
    },
    "max_score": 1,
    "hits": [
      {
        "_index": ".plugins-search-relevance-experiment",
        "_id": "cbd2c209-96d1-4012-aa73-e524b7a1b11a",
        "_score": 1,
        "_source": {
          "id": "cbd2c209-96d1-4012-aa73-e524b7a1b11a",
          "timestamp": "2025-06-11T23:24:26.792Z",
          "type": "PAIRWISE_COMPARISON",
          "status": "PROCESSING",
          "querySetId": "8368a359-146b-4690-b756-40591b2fcddb",
          "searchConfigurationList": [
            "a5acc9f3-6ad7-43f4-9651-fe118c499bc6",
            "26c7255c-c36e-42fb-b5b2-633dbf8e53b6"
          ],
          "judgmentList": [],
          "size": 10,
          "results": {}
        }
      }
    ]
  }
}

实验运行完成后,结果可用。

响应
{
    "took": 34,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 1,
            "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
            {
                "_index": ".plugins-search-relevance-experiment",
                "_id": "cbd2c209-96d1-4012-aa73-e524b7a1b11a",
                "_score": 1.0,
                "_source": {
                    "id": "cbd2c209-96d1-4012-aa73-e524b7a1b11a",
                    "timestamp": "2025-06-12T04:18:37.284Z",
                    "type": "PAIRWISE_COMPARISON",
                    "status": "COMPLETED",
                    "querySetId": "7889ffe9-835e-4f48-a9cd-53905bb967d3",
                    "searchConfigurationList": [
                        "a5acc9f3-6ad7-43f4-9651-fe118c499bc6",
                        "26c7255c-c36e-42fb-b5b2-633dbf8e53b6"
                    ],
                    "judgmentList": [],
                    "size": 10,
                    "results": {
                        "tv": {
                            "26c7255c-c36e-42fb-b5b2-633dbf8e53b6": [
                                "B07X3S9RTZ",
                                "B07WVZFKLQ",
                                "B00GXD4NWE",
                                "B07ZKCV5K5",
                                "B07ZKDVHFB",
                                "B086VKT9R8",
                                "B08XLM8YK1",
                                "B07FPP6TB5",
                                "B07N1TMNHB",
                                "B09CDHM8W7"
                            ],
                            "pairwiseComparison": {
                                "jaccard": 0.11,
                                "rbo90": 0.16,
                                "frequencyWeighted": 0.2,
                                "rbo50": 0.07
                            },
                            "a5acc9f3-6ad7-43f4-9651-fe118c499bc6": [
                                "B07Q7VGW4Q",
                                "B00GXD4NWE",
                                "B07VML1CY1",
                                "B07THVCJK3",
                                "B07RKSV7SW",
                                "B010EAW8UK",
                                "B07FPP6TB5",
                                "B073G9ZD33",
                                "B07VXRXRJX",
                                "B07Q45SP9P"
                            ]
                        },
                        "led tv": {
                            "26c7255c-c36e-42fb-b5b2-633dbf8e53b6": [
                                "B01M1D0KL1",
                                "B07YSMD3Z9",
                                "B07V4CY9GZ",
                                "B074KFP426",
                                "B07S8XNWWF",
                                "B07XBJR7GY",
                                "B075FDWSHT",
                                "B01N2Z17MS",
                                "B07F1T4JFB",
                                "B07S658ZLH"
                            ],
                            "pairwiseComparison": {
                                "jaccard": 0.11,
                                "rbo90": 0.13,
                                "frequencyWeighted": 0.2,
                                "rbo50": 0.03
                            },
                            "a5acc9f3-6ad7-43f4-9651-fe118c499bc6": [
                                "B07Q45SP9P",
                                "B074KFP426",
                                "B07JKVKZX8",
                                "B07THVCJK3",
                                "B0874XJYW8",
                                "B08LVPWQQP",
                                "B07V4CY9GZ",
                                "B07X3BS3DF",
                                "B074PDYLCZ",
                                "B08CD9MKLZ"
                            ]
                        }
                    }
                }
            }
        ]
    }
}

解释结果

如前面的响应所示,两个搜索配置都返回了 Top N 文档,其中搜索请求中的 size 设置为 10。除了结果,响应还包括成对比较的指标。

响应正文字段

字段 描述
jaccard 通过将返回文档的交集基数除以并集基数来显示相似性得分。
rbo Rank-Biased Overlap (RBO) 指标比较每个排名深度(例如,Top 1 文档、Top 2 文档等)下返回的结果集。它更重视排名靠前的结果,对列表中较早的位置给予更高的权重。
frequencyWeighted 与 Jaccard 指标类似,频率加权指标计算两个集合的加权交集与加权并集之比。然而,与标准 Jaccard 不同的是,它对频率较高的文档给予更高的权重,使结果偏向于更频繁出现的项目。
剩余 350 字符

有问题?

想做贡献?