存在查询
编辑存在查询编辑
返回包含字段索引值的文档。
由于多种原因,文档的字段可能不存在索引值
- 源 JSON 中的字段为
null
或[]
- 字段在映射中设置了
"index" : false
和"doc_values" : false
- 字段值的长度超过了映射中的
ignore_above
设置 - 字段值格式错误,并且在映射中定义了
ignore_malformed
示例请求编辑
resp = client.search( body={"query": {"exists": {"field": "user"}}}, ) print(resp)
response = client.search( body: { query: { exists: { field: 'user' } } } ) puts response
res, err := es.Search( es.Search.WithBody(strings.NewReader(`{ "query": { "exists": { "field": "user" } } }`)), es.Search.WithPretty(), ) fmt.Println(res, err)
GET /_search { "query": { "exists": { "field": "user" } } }
exists
的顶级参数编辑
-
field
-
(必需,字符串) 您要搜索的字段名称。
虽然如果 JSON 值为
null
或[]
,则认为字段不存在,但这些值将表明字段存在- 空字符串,例如
""
或"-"
- 包含
null
和另一个值的数组,例如[null, "foo"]
- 在字段映射中定义的自定义
null-value
- 空字符串,例如
注意编辑
查找缺少索引值的文档编辑
要查找缺少字段索引值的文档,请使用 must_not
布尔查询 和 exists
查询。
以下搜索返回缺少 user.id
字段索引值的文档。
resp = client.search( body={ "query": {"bool": {"must_not": {"exists": {"field": "user.id"}}}} }, ) print(resp)
response = client.search( body: { query: { bool: { must_not: { exists: { field: 'user.id' } } } } } ) puts response
GET /_search { "query": { "bool": { "must_not": { "exists": { "field": "user.id" } } } } }