按属性对elasticsearch连续结果进行自定义排序

问题描述 投票:1回答:1

我一直在互联网上查看Elasticsearch文档或示例,以解决我在处理查询结果时遇到的问题,但到目前为止还没有运气。这是我要解决的问题。

我要避免产品结果具有连续的mercer_id。我需要在具有相同商人ID的产品之间移动文档。为了更直观地了解我的问题,以下是示例结果和我需要的预期结果。

原始ES结果:

{ "merchant_id": 1, "product_name": "Product 1" },
{ "merchant_id": 1, "product_name": "Product 2" },
{ "merchant_id": 1, "product_name": "Product 3" },
{ "merchant_id": 2, "product_name": "Product 4" },
{ "merchant_id": 2, "product_name": "Product 5" },
{ "merchant_id": 2, "product_name": "Product 6" }

预期的ES结果:

{ "merchant_id": 1, "product_name": "Product 1" },
{ "merchant_id": 2, "product_name": "Product 4" },
{ "merchant_id": 1, "product_name": "Product 2" },
{ "merchant_id": 2, "product_name": "Product 5" },
{ "merchant_id": 1, "product_name": "Product 3" },
{ "merchant_id": 2, "product_name": "Product 6" }
sorting elasticsearch elasticsearch-query
1个回答
0
投票

最好是将结果随机化:

{
  "query": {
    "function_score": {
      "query": {
        //your query
      },
      "functions": [
        {
          "random_score": {}
        }
      ]
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.