我有這3個對象(3個用戶的照片,並且每一張照片都有一個類別ID)Elasticsearch分數與子文檔數
{
"id": 1,
"name": "User1",
"photos":[
{
"id": 1,
"cat": 1
},
{
"id": 2,
"cat": 1
},
{
"id": 3,
"cat": 2
}
]
}
{
"id": 2,
"name": "User2",
"photos":[
{
"id": 4,
"cat": 1
},
{
"id": 5,
"cat": 2
},
{
"id": 6,
"cat": 2
}
]
}
{
"id": 3,
"name": "User3",
"photos":[
{
"id": 7,
"cat": 2
},
{
"id": 8,
"cat": 3
},
{
"id": 9,
"cat": 3
}
]
}
我想給一個分數(最高分:10)對這些文件因有多少照片,他們有貓= 1
Object1 : 2 objects with cat = 1
Object2 : 1 objects with cat = 1
Object3 : 0 objects with cat = 1
這樣的比分將Object1 = 10,對象2 = 5,Object3 = 0
你能預處理文件在索引它們之前在Elasticsearch中添加一個cat1字段,例如計數cat = 1張照片(或者你想要的分數)?然後你可以簡單地排序這個領域,而不是陷入得分和腳本。 – eemp