gpt4 book ai didi

java - 如何在Elasticsearch中搜索长度为0的字符串?

转载 作者:行者123 更新时间:2023-12-02 13:21:47 28 4
gpt4 key购买 nike

我的文档有一个关键字,其值为“”,我如何通过java Elasticsearch搜索它?

没有像代码那样的效果:

query.must(QueryBuilders.boolQuery()
.should(QueryBuilders.regexpQuery("paymentRetCode", ""))
);

最佳答案

您需要使用script查询来检查字符串的长度是否为0:

Script script = new Script(ScriptType.INLINE, "myscript", "doc.paymentRetCode.value.length() == 0", new HashMap())
query.must(QueryBuilders.boolQuery()
.should(QueryBuilders.scriptQuery(script))))
);

脚本查询并不理想,但是,如果您需要检测具有空字符串的文档,则应该设置 null 而不是空字符串,在这种情况下,您将能够使用否定的 存在查询:

QueryBuilders.boolQuery()
.mustNot(QueryBuilders.existsQuery("paymentRetCode"))

关于java - 如何在Elasticsearch中搜索长度为0的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43544730/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com