为什么这个查询有 0 个命中?
Why this query has 0 hits?
我在名为“university”的索引中有一个 ID 为“students”的文档。文档内容如下:
{
"1234567": {
name: "Jack",
subject: "Computer Engineering"
}
"7654321": {
name: "John",
subject: "Computer Engineering"
}
}
我想搜索名为“John”的学生。我在 Kibana 中提出了以下查询:
GET /university/_search
{
"query": {
"match": {
"*.name": "John"
}
}
}
但是这个查询有 0 个匹配。为什么?正确的查询是什么?
match
查询不支持通配字段名称。使用 multi_match
代替:
GET /university/_search
{
"query": {
"multi_match": {
"query": "John",
"fields": [ "*.name" ]
}
}
}
我在名为“university”的索引中有一个 ID 为“students”的文档。文档内容如下:
{
"1234567": {
name: "Jack",
subject: "Computer Engineering"
}
"7654321": {
name: "John",
subject: "Computer Engineering"
}
}
我想搜索名为“John”的学生。我在 Kibana 中提出了以下查询:
GET /university/_search
{
"query": {
"match": {
"*.name": "John"
}
}
}
但是这个查询有 0 个匹配。为什么?正确的查询是什么?
match
查询不支持通配字段名称。使用 multi_match
代替:
GET /university/_search
{
"query": {
"multi_match": {
"query": "John",
"fields": [ "*.name" ]
}
}
}