use*_*882 21 nosql elasticsearch
我对弹性搜索很新,想写一个关注两个字段的查询.我的意思是字段的内容包含指定的子字符串.我有一个包含字段的文档,如下所示:
name: n
tag: t
Run Code Online (Sandbox Code Playgroud)
我试过这个:
/_search -d '
{
"query": {
"match": {
"name": "n",
"tag": "t"
}
}
}
Run Code Online (Sandbox Code Playgroud)
但查询导致以下错误:
[match]查询以简化形式解析,带有直接字段名称,但包含的选项多于字段名称,可能使用'options'形式,带'query'元素?
有没有办法在elasticsearch中做到这一点?
Val*_*Val 57
您需要match在查询中包含两个bool/must查询,如下所示:
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "n"
}
},
{
"match": {
"tag": "t"
}
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)