求助: ES Java Client API 中查询参数可能为空值怎么解决?

查看 22|回复 0
作者:xiangyin   
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 可以来判断参数不为空的实现方法?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部