Fork me on GitHub

es搜索api的使用

match

表示使用全文检索,即先将查询的字符串分词,再去term查询

match_phrase

表示短语匹配,可以用来作为精确匹配,使用slop参数来决定分隔多少个词也可以匹配上

multi_match

这个其实是跟上面两个是包容的关系,match和match_phrase可以说是并列的关系

"query":{
    "multi_match":{
        "query": "thread",
            "fields": [
                        "content^1.0"
                        ],
            "type": "phrase", # 这个可以设置为其他三个类型例如best_fields等,使用其他的类型就是match匹配了
            "operator": "OR",
            "slop": 0, #表示分隔0个词的距离的匹配,设置这个相当于做精确匹配
            "prefix_length": 0,
           "max_expansions": 50,
            "lenient": true,
            "zero_terms_query": "NONE",
            "boost": 1.0
    }
}

must

表示与查询

should

表示或查询,多个should时注意设置minimum_should_match参数,如果不设置表示所有的或条件都不满足也可以查询数据,一般设置至少满足一个条件,设置为1。

must_not

表示非查询

filter

表示条件过滤


最新评论

    还没有人评论...

当当

友情链接

Powered by Python. Copyright © 2017.

鄂ICP备17010875号. All rights reserved.