Elasticsearch 7.x 小白到高手

elasticsearch 7.0 新特性之 Match Bo

2019-04-18  本文已影响23人  郭彦超

之前有提到es7通过新增 search_as_you_type 数据类型帮组用户友好的实现了搜索即可见的应用场景,那么具体它的查询语法是什么,且看本文内容

1、介绍

match_bool_prefix 查询内部将输入文本通过指定analyzer分词器处理为多个term,然后基于这些个term进行bool query,除了最后一个term使用前缀查询 其它都是term query。
查询语句:

GET /_search
{
    "query": {
        "match_bool_prefix" : {
            "message" : "quick brown f"
        }
    }
}

类似于:

GET /_search
{
    "query": {
        "bool" : {
            "should": [
                { "term": { "message": "quick" }},
                { "term": { "message": "brown" }},
                { "prefix": { "message": "f"}}
            ]
        }
    }
}

和 match_phrase_prefix query重要的不同点是,match_phrase_prefix query前缀匹配是以短语为最小粒度进行的,而 match_bool_prefix 如果不对相关度进行限制的话,它会匹配更多的内容。

2、操作

参数 说明
analyzer 指定terms文本分词器,默认是用mapping阶段指定的分词器
minimum_should_match 指定匹配度,可以是[0,1]的小数,也可以是百分比
operator 指定多个term之间的匹配方式,and或者or
上一篇 下一篇

猜你喜欢

热点阅读