我在Elasticsearch中存在查询问题。 我的docuemnts有一个内部对象(一个字典映射字符串浮动值)。
我想查询内部字典中是否存在特定字符串,并使用映射到该字符串的float值对结果进行加权。
目前我正在尝试
"query": {
"nested": {
"path": "words",
"query": {
"function_score": {
"query": {
"exists": {
"field": term
}
},
"functions": [
{
"field_value_factor": {
"field": term
}
}
]
}
}
}
},
words
是字典,term
是我要找的字符串。
但这不起作用
{"type":"illegal_state_exception","reason":"[nested] nested object under path [words] is not of nested type"}}}]},"status":400}',
有谁知道为什么?
编辑:
Elasticsearch版本:oss 6.1.3。
至于结构,它更难,但它类似于:
Doc:
_id: 1
words:
string1: value1
string2: value2
Edit2:修正了括号问题,现在错误更有意义,但我仍然不知道为什么它不起作用