美文网首页
ElasticSearch - 查询打分控制

ElasticSearch - 查询打分控制

作者: 辻子路 | 来源:发表于2019-08-28 13:37 被阅读0次

    Query Context & Filter Context

    • 高级搜索的功能:支持多项文本输入,针对多个字段进行搜索。
    • 搜索引擎一般也提供基于时间,价格等条件的过滤。
    • 在ElasticSearch中,有Query和Filter两种不同的Context
      1. Query Context:相关性算分
      2. Filter Context:不需要算分,可以利用Cache,获得更好的性能

    bool查询

    • 一个bool查询,是一个或者多个查询子句的组合
      总共包括4种子句。其中两种会影响算分,两种不影响算分
    • 相关性并不是只在全文本检索的专利。也适用于yes|no的子句,匹配的子句越多,相关性评分越高。如果多条查询子句被合并成一条复合查询语句,比如bool查询,则每个查询子句计算得出的评分会被合并到总的相关性评分中


      image.png

    bool查询语法

    image.png

    bool嵌套

    image.png

    查询语句的结构,会对相关度算分产生影响

    • 同一层级下的竞争字段,具有相同的权重
    • 层级越深,权重越低
    • 通过嵌套bool查询,可以改变对算分的影响


      image.png

    控制字段的Boosting

    • Boosting是控制相关度的一种手段
      索引,字段或者查询子条件
    • 参数boost的含义
      1. 当boost>1是,打分的相关度相对性提升
      2. 当0<boost<1时,打分的权重相对性降低
      3. 当boost<0时,贡献负分


        image.png
        image.png

    相关文章

      网友评论

          本文标题:ElasticSearch - 查询打分控制

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