0
我有以下Elasticsearch内容,基本实现了用户与嵌套的技能需要从我的索引Elasticsearch:如何最大数量进行排序应与
{
worker:{
dynamic:"false",
properties: {
skills: {
type:"nested",
properties:{
name:{
type:"text"
},
id:{
type:"text"
}
}
}
}
}
}
和我进行简单的数据
Elasticsearch映射列表用户:
{
"first_name": "Samir",
"last_name": "Yundt",
"skills":[
{
"id": 1,
"name": "HTML"
},
{
"id": 1,
"name": "Javascript"
}
]
},
{
"first_name": "Kaley",
"last_name": "Fadel",
"skills":[
{
"id": 1,
"name": "HTML"
},
{
"id": 1,
"name": "CSS"
}
]
}
我的ES查询:
{
query:{
bool:{
should:[
{
nested:{
path:"sub_processes",
query:{
bool:{
should:[
{
match:{
"skills.name": "HTML"
}
},
{
match:{
"skills.name": "CSS"
}
}
}
]
}
}
}
}
]
}
}
}
那么我怎样才能通过最大数量技能匹配来排序用户呢?我发现一些文档建议使用boost,但这不是不可能的,因为我的输入(技能名称)是动态的。 谢谢全部
你想根据匹配的技能数量进行排序?你尝试使用聚合吗? – zauzaj
感谢您的回复,我还没有尝试过。我怎样才能做到这一点?你能解释一下吗? –