Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用java api为Elasticsearch生成查询_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Kibana_Elastic Stack - Fatal编程技术网 elasticsearch,kibana,elastic-stack,Java,elasticsearch,Kibana,Elastic Stack" /> elasticsearch,kibana,elastic-stack,Java,elasticsearch,Kibana,Elastic Stack" />

无法使用java api为Elasticsearch生成查询

无法使用java api为Elasticsearch生成查询,java,elasticsearch,kibana,elastic-stack,Java,elasticsearch,Kibana,Elastic Stack,我试图通过java api查询elasticsearch,以获得以下elasticsearch查询 get my_index12/_search { "query" : { "bool": { "must": [ { "match": { "code": {

我试图通过java api查询elasticsearch,以获得以下elasticsearch查询

get my_index12/_search {
        "query" : {
            "bool": {
                "must": [
                    {
                        "match": {
                            "code": {
                             "query": "TE-7000-8002-W",
                             "operator": "and"
                            }
                        }
                    },
                    {
                        "match": {
                            "locale": {
                             "query": "en_US",
                             "operator": "and"
                            }
                        }
                    }
                ]
            }
        }
     }
以上查询在Kibana中运行良好。我试图使用ElasticSearchJavaAPI复制相同的查询

请查找我正在尝试构建的JAVA API查询

QueryBuilder qb = QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("code",name)).operator(Operator.AND);
我从eclipse获得以下错误

The method operator(Operator) is undefined for the type BoolQueryBuilder

Am在java传输客户端中使用Elasticsearch 6.2.3版本

,可以以QueryBuilder和XContent格式生成搜索请求,XContent格式以json格式生成查询参数。 对于QueryBuilder,尤其是BoolQuery,查询dsl中的运算符由must()(means和operator)或shoul()(means或operator)表示

如上所述,您的查询可以表示为:

QueryBuilders.boolQuery().must().must().build();
另一个有趣的问题是如何显示以下查询DSL:

{
    "query": {
        "bool": {
            "must": [{
                "term": {
                    "field1": "value"
                }
            }, {
                "match": {
                    "filed2": "value"
                }
            }],
            "should": [{
                "term": {
                    "field3": "value"
                }
            },{
                "term": {
                    "field4": "value"
            }]
        }
    }
}
一旦您能够理解演示查询DSL并成功地用JavaAPI实现它,就意味着您开始了解java传输客户端API。
希望能为您提供一些帮助

必须
默认情况下,布尔值是否存在,您是否需要再次明确指定它?