如果存在带有_id的文档,那么测试的最有效方法是什么?
我显然可以这样做:
curl -XGET localhost:9200/my_index/my_doctype/<_id>?fields=_id'.
Run Code Online (Sandbox Code Playgroud)
或者我可以使用: 如何在ElasticSearch上检查重复数据? 我想,并发送一份空文件.
什么更有效率?
Lou*_*eau 15
您可以使用HTTP HEAD动词仅检索标头.
curl -XHEAD --dump-header - localhost:9200/index/type/doc
Run Code Online (Sandbox Code Playgroud)
它将为您提供200或404,而不包含文档正文的任何部分.
如果在之前的版本上2.1,您可以使用"搜索存在API".
一个例子:
用户"kimchy"在twitter索引中搜索推文类型
$ curl -XGET 'http://localhost:9200/twitter/tweet/_search/exists?q=user:kimchy'
Run Code Online (Sandbox Code Playgroud)
如果该用户有任何推文,响应正文将包含true或false:
{
"exists" : true
}
Run Code Online (Sandbox Code Playgroud)
您也可以像这样在请求体中发送查询(POST或GET都可以):
curl -XGET 'http://localhost:9200/twitter/tweet/_search/exists' -d '
{
"query" : {
"term" : { "user" : "kimchy" }
}
}'
Run Code Online (Sandbox Code Playgroud)
答案是一样的.
| 归档时间: |
|
| 查看次数: |
8652 次 |
| 最近记录: |