我试图写一个查询elasticsearch其中即时通讯搜索在一个特定的时间范围内的特定名称的一个字段称为“名称”。
我想出了:
body = {
"query": {
"range": {
'timeObject': {
"from": '2018-01-01T20:10:30',
"to": '2023-03-01T20:10:30'
}},
"bool": {
"filter": {
"terms": {
"name": ["Anna", "Peter", "Bob", "John"]
}
}
}
但我得到了错误:elasticsearch.exceptions.RequestError:400,'parsing_exception','[range] malformed query,expected [END_OBJECT] but found [FIELD_NAME]')
我做错了什么?
1条答案
按热度按时间3duebb1j1#
一个选项是将范围查询放在过滤器子句中。过滤器是数组,您必须使用“filter”:[{..}]
例如: