dongyi2425 2017-03-18 14:33
浏览 106
已采纳

使用bool查询的ElasticSearch全文搜索

I am trying to make full-text search in whole document using

"query" => [
    "query_string" => [
        "fields" => ["_all"],
        "query" => "fooA AND fooB"
    ]
]

It works pretty good. In the same query I need to run bool query

"query" => [
    "bool" => [
        "must" => [
            "term" => [
                "name" => "My_name"
            ]
        ],
        "should" => [
            ....
        ]
    ]
]

Is it possible to combine these two queries ? is this proper way to make full-text search ?

In result I need all documents that contains "fooA AND fooB" in any field and special field name equals "My_name".

  • 写回答

2条回答 默认 最新

  • drny60365 2017-03-18 17:05
    关注

    I found solution for my question thanks to this post.

    "query" => [
        "bool" => [
            "must" => [
                [
                    "term" => [
                        "name" => "My_name"
                    ]
                ],
                [
                    "query_string" => [
                        "fields" => ["_all"],
                        "query" => "fooA AND fooB"
                    ]
                ]
            ]
        ]
    ]
    

    This combination works for me

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?