Elasticsearch Java High Level REST Client(Exists API)
Exists API
如果文档存在,则exists
API返回true
,否则返回false
。
Exists请求
它就像Get API一样使用GetRequest
,支持所有可选参数,由于exists()
只返回true
或false
,我们建议关闭获取_source
和任何存储的字段,以便请求稍微轻一点:
GetRequest getRequest = new GetRequest( "posts", "doc", "1"); getRequest.fetchSourceContext(new FetchSourceContext(false)); getRequest.storedFields("_none_");
posts
— 索引。doc
— 类型。1
— 索引id。FetchSourceContext(false)
— 禁用提取_source
。storedFields("_none_")
— 禁用提取存储的字段。
同步执行
以下列方式执行GetRequest
时,客户端在继续执行代码之前等待返回boolean
:
boolean exists = client.exists(getRequest, RequestOptions.DEFAULT);
异步执行
执行GetRequest
也可以以异步方式完成,以便客户端可以直接返回,用户需要通过将请求和侦听器传递给异步exists
方法来指定响应或潜在故障的处理方式:
client.existsAsync(getRequest, RequestOptions.DEFAULT, listener);
- 要执行的
GetRequest
和执行完成时要使用的ActionListener
。
异步方法不会阻塞并立即返回,完成后,如果执行成功完成,则使用onResponse
方法回调ActionListener
,如果失败则使用onFailure
方法。
exists
的典型侦听器如下所示:
ActionListener<Boolean> listener = new ActionListener<Boolean>() { @Override public void onResponse(Boolean exists) { } @Override public void onFailure(Exception e) { } };
onResponse
— 执行成功完成时调用。onFailure
— 在整个GetRequest
失败时调用。
上一篇:Get API
下一篇:Delete API
相关推荐
lhxxhl 2020-11-16
minggehenhao 2020-07-28
ItBJLan 2020-06-28
CARBON 2020-06-14
luotuofeile 2020-06-12
xiaobaif 2020-05-09
dreamhua 2020-03-28
huangliang00 2020-02-22
wklken的笔记 2020-02-15
萌亖 2020-02-10
郴州小程序 2020-01-24
liuyang000 2020-01-24
fengdos 2019-12-27
azhou 2019-12-25
oraclemch 2019-12-01
明月清风精进不止 2019-11-30
herohope 2019-10-21