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

        

  • 相关阅读:
    SpringCloud入门
    SpringBoot自动配置的演示
    SpringBoot自动配置原理
    SpringBoot整合Junit、Mybatis以及Redis
    SpringBoot介绍
    面向对象编程
    Spring MVC介绍
    Queue
    springcloud项目 报错数据库未配置
    linux环境下mongoDB主从复制搭建
  • 原文地址:https://www.cnblogs.com/jiangtao1218/p/8612618.html
Copyright © 2011-2022 走看看