我对弹性搜索很新,想写一个关注两个字段的查询。我的意思是字段的内容包含指定的子字符串。我有一个包含字段的文档,如下所示:
name: n
tag: t
我试过了:
/_search -d '
{
"query": {
"match": {
"name": "n",
"tag": "t"
}
}
}
但查询会导致以下错误:
[match]查询以简化形式解析,带有直接字段名称,但是 包括更多选项,而不仅仅是字段名称,可能使用它 '选项'表格,带有'查询'元件?
有没有办法在elasticsearch中做到这一点?
答案 0 :(得分:36)
您需要在match
查询中附加两个bool/must
个查询,如下所示:
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "n"
}
},
{
"match": {
"tag": "t"
}
}
]
}
}
}