美文网首页
ElasticSearch的高级查询

ElasticSearch的高级查询

作者: aeborah | 来源:发表于2021-06-11 14:57 被阅读0次

    查詢分为子条件查詢和复合条件查詢
    子条件查詢:特定字段查詢所指特定值
    复合条件查詢:以一定的逻辑组合子条件查詢

    一、子条件查詢

    1.Query Context

    在查詢过程中,除了判断文档是否满足查詢条件外,ES还会计算一个_score来表示匹配的程度,旨在判断目标文档和查询条件匹配的有多好,大概的意思就是匹配的吻合度到底有多高。

    常用查詢

    1.全文本查詢

    针对文本类型数据

    a.模糊查詢

    关键词及用法:

    比如elsticsearch入门
    match:模糊匹配,会将包含elsticsearch和入门的分别匹配除了
    match_phrase:匹配习语,只匹配包含elsticsearch入门整个的
    multi_match:匹配author和title都包含瓦力的。


    match.png
    multi_match.png
    b.语法查詢

    在这里关键字是query_string
    比如直接搜索NEW YORK,相当于单个术语new york,如果想要分别查詢每个术语,就加上显式运算符AND,例如new and
    york,则可以单独查詢。


    query-string.png

    分别搜索包含elasticsearch大法和python的两种场合


    OR的使用
    字段查詢也可以限制查詢的位置,同样利用fields即可
    image.png
    字段级别查詢

    针对结构化数据,如数字,日期
    关键字就是term


    image.png

    也可以支持范围查詢
    range


    image.png
    在这里gte相当于greater than,然后e为equals,去掉eqauls则想等的数据不会显示

    2.Filter Context

    在查询过程中,值判断该文档是否满足条件,只有yes或者no
    关键字:bool,filter


    image.png

    这样只有1000的数据才可以找出来

    二、复合条件查詢

    a.固定分数查詢

    image.png

    其中,boost就是指定分数

    b.布尔查詢

    should:是或的关系,只要符合其中一条就可以。
    must:是并的关系,所有条件都符合才可以。
    must not:一定不能满足的条件


    should.png
    must not.png

    相关文章

      网友评论

          本文标题:ElasticSearch的高级查询

          本文链接:https://www.haomeiwen.com/subject/ynbmeltx.html