Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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,如何在elasticsearch中将匹配查询的默认运算符更改为AND?_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

使用java,如何在elasticsearch中将匹配查询的默认运算符更改为AND?

使用java,如何在elasticsearch中将匹配查询的默认运算符更改为AND?,java,elasticsearch,Java,elasticsearch,当使用java api时,如下所示 query.must(matchQuery("name", object.getName())); 生成的弹性查询是 "bool":{ "must":[ {"match":{"name":{"query":"De Michael Schuster","operator":"

当使用java api时,如下所示

query.must(matchQuery("name", object.getName()));
生成的弹性查询是

"bool":{
    "must":[
      {"match":{"name":{"query":"De Michael Schuster","operator":"OR","boost":1.0}}}
.....
现在我正在取回文件,文件名为:德或迈克尔或舒斯特。 我想将运算符更改为和,以匹配整个字符串

我知道我可以使用术语查询,但在我的场景中这不是一个选项

我遇到了这个问题,但没有给出答案-

如何使用Java实现这一点?

简单如下:

query.must(matchQuery("name", object.getName()).operator(Operator.AND));

非常感谢你的回答。但当对带有“.”的字符串进行搜索时,它不会返回结果。我有文件名为:“医学博士伊丽莎白·鲍尔”。当我将上述查询与AND运算符一起使用时,它不会返回任何内容(使用或返回多个文档,这是预期的)。但是,当字符串不包含“.”时,它可以与AND运算符完美配合使用。例如,对于字符串“Stefan Drumm”,它返回文档。知道为什么会这样吗?当然,你的回答是正确的,也被接受了,但我在这里迷路了。如果您想让我发布新问题,请告诉我。仅供参考,发布了一个新问题:。您确定要使用
运算符吗?它将匹配任何包含德、迈克尔和舒斯特的东西,而不考虑顺序和其他标记。“德迈克尔·舒斯特”将比赛,但“舒斯特·迈克尔·德”和“约翰·舒斯特·威廉姆斯·德加布里埃尔·迈克尔”也将比赛。如果您想搜索短语“De Michael Schuster”,也就是说,单词的顺序正好相同,没有其他单词混杂在一起,那么您可能需要使用
match_短语