ElasticSearch/Lucene 查询字符串 — select "field X exists"
ElasticSearch/Lucene query string — select "field X exists"
如何通过 Kibana 向 ElasticSearch 查询 select 个具有字段 X 的项目?
例如,我有一个包含字段 {"a": {"type": "string"}, "b": {"type": "string"}}
和两个文档的映射
{"a": "lalala"}
{"a": "enoheo", "b": "nthtnhnt"}
我想在不知道它 b
实际是什么的情况下找到第二个文档。
使用exists filter,如:
POST /test_index/_search
{
"filter": {
"exists": {
"field": "b"
}
}
}
编辑: 如果您需要 Lucene 查询字符串查询,应该这样做:
POST /test_index/_search
{
"query": {
"query_string": {
"query": "b:*"
}
}
}
这是我用来测试它的一些代码:
http://sense.qbox.io/gist/ad336a0888a279bfdace03e217bf1915adbf0fe2
自从给出这些答案以来已经有一段时间了。如果有人需要更新的答案,文档现在给出了这个示例来选择具有特定字段的结果。
在 query-string 语法中:
where the field title
has any non-null value:
_exists_:title
如何通过 Kibana 向 ElasticSearch 查询 select 个具有字段 X 的项目?
例如,我有一个包含字段 {"a": {"type": "string"}, "b": {"type": "string"}}
和两个文档的映射
{"a": "lalala"}
{"a": "enoheo", "b": "nthtnhnt"}
我想在不知道它 b
实际是什么的情况下找到第二个文档。
使用exists filter,如:
POST /test_index/_search
{
"filter": {
"exists": {
"field": "b"
}
}
}
编辑: 如果您需要 Lucene 查询字符串查询,应该这样做:
POST /test_index/_search
{
"query": {
"query_string": {
"query": "b:*"
}
}
}
这是我用来测试它的一些代码:
http://sense.qbox.io/gist/ad336a0888a279bfdace03e217bf1915adbf0fe2
自从给出这些答案以来已经有一段时间了。如果有人需要更新的答案,文档现在给出了这个示例来选择具有特定字段的结果。
在 query-string 语法中:
where the field
title
has any non-null value:_exists_:title