ElasticSearch:使用具有多个字段的query_string进行全文搜索

时间:2017-04-27 09:21:10

标签: elasticsearch

我正在使用 ElasticSearch 进行full text search。我正在使用Query String Query。我正在使用Multi Field功能进行搜索。

我的查询如下所示:

 {
    "query": {
         "query_string": {
            "fields": [
                "field1^5",
                "field2^5",
                "field3^1",
                "field4^1",
                ...................
                ...................
            ],
            "query": "....",
            "default_operator": "OR",
            "analyzer": "standard"
        }
    }
 }

我的收藏中超过30 fields。根据我的要求,我需要确保首先需要搜索fieldAfieldB。因此,这些字段将具有higher priority。其他字段都有low and equal priority

那么,是否有某种方式我没有specify all the field names in the query。我只想指定那些具有更高优先级的字段,即fieldAfieldB。但是,应根据优先级顺序对所有字段执行搜索。

我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:2)

试试这个。在我的系统中测试过,它为我工作: -

 {
    "query": {
         "query_string": {
            "fields": [
                "field1^5",
                "field2^5",
                "_all",
            ],
            "query": "....",
            "default_operator": "OR",
            "analyzer": "standard"
        }
    }
 }