我想检查elasticsearch中是否存在具有特定字段值的文档。
我浏览了互联网,但只找到了如何检查字段是否存在的方法。
我的索引/类型是
/twitter/user
Run Code Online (Sandbox Code Playgroud)
用户名是文档中的一个字段。
我想检查username="xyz"此类型中是否存在。
xra*_*age 10
您可以使用 size 进行查询0。totalvalue 会让你知道 doc 是否存在。
GET /twitter/user/_search
{"size": 0,
"query": {"match": {
"username": "xyz"
}}}
Run Code Online (Sandbox Code Playgroud)
编辑——
_count api can be used as well.
GET /twitter/user/_count
{ "query": {"match": {
"username": "xyz"
}}}
Run Code Online (Sandbox Code Playgroud)
从文档:
如果您只想检查文档是否存在——您对内容根本不感兴趣——那么请使用
HEAD方法而不是GET方法。HEAD请求不返回正文,只返回 HTTP 标头:
curl -i -XHEAD http://localhost:9200/twitter/user/userid
Run Code Online (Sandbox Code Playgroud)
200 OK如果文档存在,Elasticsearch 将返回一个状态码……404 Not Found如果它不存在,则返回一个状态码
注: userid是_id字段的值。