问题:Elasticsearch 多范围错误

我对 Elasticsearch 有疑问

以下 json 值在我的本地服务器中有效,但在远程服务器中无效。

错误:查询不支持多个字段,找到 [date] 和 [price]

post.json

{
            "query": {
                "bool": {
                    "must": [
                        {
                            "query_string": {
                                "query": "product:DESKTOP"
                            }
                        },
                        {
                            "range": {
                                "date": {
                                    "gt": "2018-04-24",
                                    "lte": "2018-06-24"
                                },
                                "price": {
                                    "gt": 0,
                                    "lte": 2000
                                }
                            }
                        }
                    ]
                }
            },
            "from": 10,
            "size": 200         }

我哪里错了?谢谢你的回答

解答

每个range查询只能指定一个字段。

尝试包括两个单独的range查询。它们将被“与”在一起,因为它们都出现在您的must子句中。

{
    "query": {
        "bool": {
            "must": [
                {
                    "query_string": {
                        "query": "product:DESKTOP"
                    }
                },
                {
                    "range": {
                        "date": {
                            "gt": "2018-04-24",
                            "lte": "2018-06-24"
                        }
                    }
                },
                {
                    "range": {
                        "price": {
                            "gt": 0,
                            "lte": 2000
                        }
                    }
                }
            ]
        }
    },
    "from": 10,
    "size": 200
}
Logo

欢迎大家访问Elastic 中国社区。由Elastic 资深布道师,Elastic 认证工程师,认证分析师,认证可观测性工程师运营管理。

更多推荐