String key = null;
esClient.search(search -> search
.index("index")
.query(query -> query.
bool(bool -> bool
.must(must -> must.match(match -> match.field("field").query(key))
)
)
), XXX.class);
就是 key 可能传入为 null
查询的时候传入空值就会报错,没有找到好的解决办法,只能先一个个进行 if 判断不为空后在调 api 查询,感觉很不优雅。希望可以优雅一点的方式判断空值,或者传空值的时候能想办法全匹配。 想用 lambda 形式来写查询,有没有类似 mybatisplus 中 lambdaquerywrapper.eq 的第一个参数为 bool 可以来判断参数不为空的实现方法?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.