zoukankan      html  css  js  c++  java
  • 读《深入理解Elasticsearch》点滴-改善查询相关性

    1、标准查询

      query

        match

          _all

            query:"搜索字符串"

            operator:or

    2、多匹配查询+区分权重

      query

        multi_match

          "query":"搜索字符串"

          fields:["title^100","text^10","-all"]        针对字段进行加权

    3、引入短语查询

      query

        bool

          must

            multi_match

          "query":"搜索字符串"

           fields:["title^100","text^10","-all"]        针对字段进行加权

      should

        match_phrase

          title":"搜索字符串"

        match_phrase

          text":"搜索字符串"       连续使用两遍,面向不同字段

    4、引入slop参数

      should

        match_phrase

          title":"搜索字符串"

          slop:1

        match_phrase

          text":"搜索字符串"       连续使用两遍,面向不同字段

          slop:1

    5、扔掉垃圾信息(引入过滤器)

          must_not

            term:

              redirect:true

            term:

              special:true

    6、引入boost(需要使用function_score)

       将match_phrase包装到function_score里面

        ……

        function_score:

          boost_factore:1000,

          query:

            match_phrase

              title:

                 query:"搜索字符串"

                  slot:1

        

  • 相关阅读:
    数组常用方法
    Chrome调式技巧
    Object.create()和new object()和{}的区别
    ES6基础知识
    sass基础
    webpack中package.json相关参数
    webpack.config.js====图片处理
    java发送邮件功能[转]
    mybatis sql使用经验总结
    JSON操作
  • 原文地址:https://www.cnblogs.com/jiangtao1218/p/8612618.html
Copyright © 2011-2022 走看看