gpt4 book ai didi

java - 使用Java Jest在Elasticsearch中按ID查找带有附加过滤器的文档

转载 作者:行者123 更新时间:2023-12-03 01:14:22 25 4
gpt4 key购买 nike

我正在尝试使用JEST Java API通过ID获取文档,并进行其他检查是否存在元素
例如,假设我有一个Java对象,用户具有字段ID,名字,姓氏,并且如果文档的索引根本没有名字元素,我想将其过滤掉
现在我正在做这样的事情

public Optional<User> findById(long id) {
try {
Get action = new Get.Builder(INDEX_ALIAS, String.valueOf(id)).build();
User user= execute(action).getSourceAsObject(User.class);
if (user!= null && user.getFirstName()!=null)) {
return Optional.ofNullable(user);
} else {
return Optional.empty();
}
} catch (NoSuchElementException ex) {
return Optional.empty();
}
}
有没有更好的方法可以使此检查本身在查询中。

最佳答案

正如Abhijit所说,exits query可能就是您想要的。

Returns documents that contain an indexed value for a field.


在高级Java客户端中,它可以与 ExistsQueryBuilder一起使用。

关于java - 使用Java Jest在Elasticsearch中按ID查找带有附加过滤器的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63175591/

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