【发布时间】:2020-07-30 14:41:50
【问题描述】:
我正在尝试使用 JEST Java API 通过 Id 获取 Document 并额外检查元素是否存在
例如,假设我有一个 java 对象用户具有字段 id、firstname、lastname,并且如果文档的索引根本没有 firstname 元素,我想将其过滤掉
现在我正在做这样的事情
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();
}
}
有没有更好的方法可以在查询本身中进行此检查。
【问题讨论】:
-
在elasticsearch dsl中我们使用exists...检查你是否在api中有那个选项。
标签: java elasticsearch elasticsearch-jest