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

标签 java elasticsearch

如下使用Java API时

query.must(matchQuery("name", object.getName()));
产生的 flex 查询为
"bool":{
    "must":[
      {"match":{"name":{"query":"De Michael Schuster","operator":"OR","boost":1.0}}}
.....
现在,我正按预期返回名称为:De OR Michael OR Schuster的文档。
我想将运算符更改为AND以匹配整个字符串。
我知道我可以使用术语查询,但是在我的方案中这不是一个选择。
我遇到了这个问题,但没有给出答案-https://discuss.elastic.co/t/changing-the-default-operator-for-search-api/47033
如何使用Java实现此目的?

最佳答案

就像这样:

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

关于java - 使用Java,如何在Elasticsearch中将匹配查询的默认运算符更改为AND?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63884843/

相关文章:

java - 点燃 2 个缓存的数据关联性

java - 无法将类型 "java.lang.Integer"编码(marshal)为元素,因为它缺少 @XmlRootElement 注释

java - Spring数据 Elasticsearch : remove low disk watermark warning

c# - .NET ElasticSearch NEST-用于部分匹配的多个字段上的NGram分析器

elasticsearch - 使用dataprovider时如何在yii2 Elasticsearch 中使用random_score

java - 我正在尝试使用 firebase 制作登录页面和注册页面。我想使用 firebase 实时数据库来存储用户名和电子邮件

java - Struts2从JSP发送列表数据到Action类: alternative way

java - @PluginTarget(Node.class) 未注册为 neo4j 插件

elasticsearch 聚合使用脚本来转换正在聚合的字段值

elasticsearch - 在Elasticsearch查询中没有为[查询]注册的[查询]