我一直在互联网上查看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" }
最好是将结果随机化:
{
"query": {
"function_score": {
"query": {
//your query
},
"functions": [
{
"random_score": {}
}
]
}
}
}