【发布时间】:2023-06-27 11:06:02
【问题描述】:
我是弹性搜索的新手。 我的文件看起来像这样:
user_name : "test",
piInfo: {
profile: {
word_count: 535,
word_count_message: "There were 535 words in the input.",
processed_language: "en",
personality: [
{
name: "Openness",
category: "personality",
percentile: 0.0015293409544490655,
children: []
},
{
name: "Conscientiousness",
category: "personality",
percentile: 0.6803430984001135,
children: []
}
]
}
}
我要做的是按个性(例如:“开放性”)按“百分比”对用户(用户名)进行排序
到目前为止,基于elasticsearch: Nested datatype 和elasticsearch: Sorting within nested objects.,我想出的是以下代码:
"query": {
"nested": {
"path": "piInfo.profile.personality",
"query": {
"bool": {
"must":
{ "match": { "piInfo.profile.personality.name": "Openness" }}
}
}
}
},
"sort" : {
"piInfo.profile.personality.percentile" : {
"order" : "asc",
"nested": {
"path": "piInfo.profile.personality",
"filter": {
"match": { "piInfo.profile.personality.name": "Openness" }
}
}
}
}
我收到了这个错误:
路径[piInfo.profile.personality]下的[嵌套]嵌套对象不是嵌套类型
这是逻辑,因为我没有映射它。我从 API 获取数据并按原样存储。
有办法解决吗?
【问题讨论】:
标签: elasticsearch