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

        

  • 相关阅读:
    MS SQL SERVER导出表结构到Excel
    Ajax.ActionLink用法
    Layer弹出层关闭后刷新父页面
    Ajax.BeginForm提示不支持live属性或方法的错误
    BootStrap带样式打印
    利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
    Bootstrap打印问题
    EF的表左连接方法Include和Join
    vs code的local history插件
    idea debug的drop frame,set watch和设置过滤条件
  • 原文地址:https://www.cnblogs.com/jiangtao1218/p/8612618.html
Copyright © 2011-2022 走看看