ES定制化排序的骚操作

一.通过邻尽查询提升相关度

1.配合使用match_query和match_phrease

2.match_phrease匹配条件比match_query复杂

.直接通过排序存在哪些问题

1.将权重转化为排序的先后顺序不一定合理

2.实际场景中最终的排序结果可能是多个字段的叠架的

3.排序的权重和影响因子可能是变动的,权重的量级也可能不同

三.自定义评分公式

 

 

 

 

 

 

 四.使用script_score来实出定制化排序

1.从ES7.0版本开始支持

2.允许用户要检中灵活修改文档score

3.性能要高于function_score

以下是注意事项

 

 

 五.提升缀匹配排序

 

 

 

PUT test_index

{

  "mappings": {

    "properties": {

      "name":{

        "type": "text",

        "fields": {

          "keywords":{

            "type":"keyword",

            "norms":false,

            "similarity":"boolean",

            "doc_values":true

          }

        }

      }

    }

  }

}

六.指定满足条件的文档提权

1.比如将包含Plus的文档权重提升2倍

2.通过query解析结合用户画像将相关类目提权

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2023-03-28 21:21  lisus2000  阅读(282)  评论(0编辑  收藏  举报