我想使用多必须查询,但出现以下错误。重复的键“必须”语法错误。结果应该是幻想和可乐。我如何获得这些数据?
必须类似于以下结果:1:可口可乐2:芬达
{
"query": {
"bool": {
"must": [
{
"match": {
"productName":"Coca Cola"
}
},
{
"match": {
"productCode": "Coke"
}
},
{
"match": {
"created_date": "2018-06-10"
}
}
],
"must": [
{
"match": {
"productName":"Fanta"
}
},
{
"match": {
"productCode": "Coke"
}
},
{
"match": {
"created_date": "2018-06-05"
}
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
在mysql中:
选择*从产品所在的位置(名称=“可口可乐”和代码=“可乐” ...)或(名称=“芬达” ...)
您需要将两个must
(即AND)包装在一个should
(即OR)中,如下所示:
{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
"match": {
"productName": "Coca Cola"
}
},
{
"match": {
"productCode": "Coke"
}
},
{
"match": {
"created_date": "2018-06-10"
}
}
]
}
},
{
"bool": {
"must": [
{
"match": {
"productName": "Fanta"
}
},
{
"match": {
"productCode": "Coke"
}
},
{
"match": {
"created_date": "2018-06-05"
}
}
]
}
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1108 次 |
最近记录: |