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做這個。 –