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

    

 

相关文章:

  • 2022-03-15
  • 2021-09-16
  • 2022-12-23
  • 2022-03-15
  • 2022-03-15
  • 2022-03-07
  • 2022-01-17
  • 2021-11-22
猜你喜欢
  • 2022-03-15
  • 2022-03-15
  • 2021-08-09
  • 2022-03-15
  • 2021-06-01
  • 2022-03-15
  • 2021-08-20
相关资源
相似解决方案