如何在ElasticSearch中向常用术语查询添加多个字段?

时间:2015-02-18 19:16:40

标签: search elasticsearch

我有一个像这样的常用术语查询。

{
    "query" : {
        "common" : {
            "DocumentData.OCR_Text" : {
                "query" : "block 310 luis",
                "cutoff_frequency" : 0.001
            }
        }
    }
}

我想搜索2个或更多字段,但这会给我一个错误。

{
    "query" : {
        "common" : {
            "Grantors" : {
                    "query" : "block 310 luis",
                    "cutoff_frequency" : 0.001
                },
            "DocumentData.OCR_Text" : {
                "query" : "block 310 luis",
                "cutoff_frequency" : 0.001
            }
        }
    }
}
  

嵌套:ElasticsearchParseException [预期字段名称但得到了   START_OBJECT" DocumentData.OCR_Text"];

你会怎么做?

1 个答案:

答案 0 :(得分:7)

你应该将它包装在Bool Query

{
    "query": {
        "bool": {
            "should": [
                {
                    "common": {
                        "Grantors": {
                            "query": "block 310 luis",
                            "cutoff_frequency": 0.001
                        }
                    }
                },
                {
                    "common": {
                        "DocumentData.OCR_Text": {
                            "query": "block 310 luis",
                            "cutoff_frequency": 0.001
                        }
                    }
                }
            ]
        }
    }
}