我想按日期范围和标题中的短语进行搜索。 我的 elasticsearch 版本是 7.8.1 我的代码有什么问题?
{
"query": {
"bool": {
"filter": {
"and": [
{
"range": {
"create_time": {
"format": "yyyy-MM-dd",
"from": "2000-01-01",
"to": "3000-01-01",
"include_lower": true,
"include_upper": true
}
}
},
{
"multi_match": {
"query": "my name is here",
"type": "phrase",
"fields": [
"title"
]
}
}
]
}
}
},
"sort": {
"create_time": {
"order": "desc"
}
}
}
我收到错误消息:
"type": "parsing_exception", "reason": "[and] query malformed, no start_object after query name",
答案 0 :(得分:0)
and query is replaced by bool query。您可以使用 bool/filter
range
和 multi-match
查询
将您的查询修改为
{
"query": {
"bool": {
"filter": [ // note this
{
"range": {
"create_time": {
"format": "yyyy-MM-dd",
"from": "2000-01-01",
"to": "3000-01-01",
"include_lower": true,
"include_upper": true
}
}
},
{
"multi_match": {
"query": "my name is here",
"type": "phrase",
"fields": [
"title"
]
}
}
]
}
},
"sort": {
"create_time": {
"order": "desc"
}
}
}