我正在尝试使用
在整个文档中进行全文搜索"query" => [
"query_string" => [
"fields" => ["_all"],
"query" => "fooA AND fooB"
]
]
效果很好。在同一个查询中我需要运行bool查询
"query" => [
"bool" => [
"must" => [
"term" => [
"name" => "My_name"
]
],
"should" => [
....
]
]
]
是否可以将这两个查询结合起来?这是进行全文搜索的正确方法吗?
结果我需要包含" fooA和fooB"的所有文件。在任何字段和特殊字段名称等于" My_name"。
答案 0 :(得分:0)
是的,您可以将这些组合在一起,如下所示:
GET _search
{
"from": 0,
"size": 20,
"query": {
"bool": {
"must": [
{
"term": {
"name": "MY_NAME"
}
},
{
"query_string": {
"query": "fooA AND fooB",
"fields": [
"_all"
]
}
}
]
}
}
}
答案 1 :(得分:0)
感谢this post,我找到了问题的解决方案。
"query" => [
"bool" => [
"must" => [
[
"term" => [
"name" => "My_name"
]
],
[
"query_string" => [
"fields" => ["_all"],
"query" => "fooA AND fooB"
]
]
]
]
]
这种组合对我有用