我是Elasticsearch的新手。我有一个具有布尔字段的映射:
{
...
"bool_field": {
"type": "boolean"
},
...
}
如何在不指定字段名称的情况下查找布尔值的文档? 我尝试了以下其中一种,但没有结果:
{
"query": {
"match_all": {}
},
"filter": {
"query": {
"query_string": {
"query": "true"
}
}
}
}
谢谢!
答案 0 :(得分:2)
默认情况下,这并不容易,因为boolean
fields are not include_in_all
(the _all
field is used by default by query_string
)。这解释了为什么您的查询不起作用。
但是,您可以使用copy_to创建自己的custom _all
field并在query_string
中使用它。
这样的事情:
"bool_field": {
"type": "boolean",
"copy_to": "_all_booleans"
}
然后
"query_string": {
"default_field": "_all_booleans",
"query": "true"
}
或
"query_string": {
"query": "_all_booleans:true"
}