这是我的映射:
{
"name": {
"type": "text",
},
"my_array": {
"type": "nested",
"properties": {
"first": {
"type": "text",
},
"last": {
"type": "text",
}
}
}
}
文档1:
{
"my_array": [
{ "first": "John", "last": "Smith" },
{ "first": "Alice", "last": "White" }
]
}
文档2:
{
"name": "John"
}
是否可以使此查询字符串查询不使用nested query返回两个文档?
{
"query": {
"query_string": {
"query": "John"
}
}
}
我正在使用Elasticsearch 6.4。
答案 0 :(得分:0)
是的,您可以将query_string
查询嵌套在对两个嵌套字段都适用的nested
查询中,如下所示:
POST test/_search
{
"query": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"nested": {
"path": "my_array",
"query": {
"query_string": {
"default_field": "my_array.*",
"query": "John"
}
}
}
},
{
"query_string": {
"default_field": "name",
"query": "John"
}
}
]
}
}
}