1
我想根据它们上的嵌套属性对我的文档进行排序。 鉴于我有以下文件:基于嵌套对象集合对文档排序
{
"id": 1,
"attributes": [
{
"name": "a",
"value": 1
},
{
"name": "b",
"value": 2
}
]
}
{
"id": 2,
"attributes": [
{
"name": "a",
"value": 2
},
{
"name": "b",
"value": 2
}
]
}
{
"id": 3,
"attributes": [
{
"name": "b",
"value": 1
}
]
}
的排序应比较同一属性的值,所以应该先继续和比较属性“a”的值。
如果组“a”的值相同,则应该继续并比较属性“b”。
如果整个组丢失,缺少该属性的文档将会丢失比较结果。
属性可以有任何名称和值,所以事先不知道属性名称。
我已经在我的客户端应用程序中编写了此算法,我只需要一种方法来使用ElasticSearch来完成此操作。
你知道有多少属性吗?你如何定义每个属性的考虑顺序? –
我不知道之前有多少属性。属性的比较顺序应该按照属性的名称按字母顺序排列。 –
然后我不认为你可以用ES做这个。 –