ES实战-相关性搜索

ES打分机制

1.TF-IDF 词频-逆文档频率

2.Okapi BM25

3.随机性分歧- DFR相似度

4.基于信息 - IB相似度

5.LM Dirichlet 相似度

6.LM Jelinek Mercer相似度
解释一个查询的结果集

bash 复制代码
curl -XPOST 'localhost:9200/get-together/_search?pretty' -H 'Content-Type: application/json' -d '
{
  "query": {
    "match": {
      "description": "elasticsearch"
    }
  },
  "explain": true
}'

使用function_score来定制得分

bash 复制代码
#在description字段中匹配到hadoop
#和logstash的文档,分数就乘以2或3
POST /get-together/_search
{
  "query": {
    "function_score": {
      "query": {
        "match": {
          "description": "elasticsearch"
        }
      },
      "functions": [
        {
          "weight": 2,
          "filter": {
            "term": {
              "description": "hadoop"
            }
          }
        },
        {
          "weight": 3,
          "filter": {
            "term": {
              "description": "logstash"
            }
          }
        }
      ]
    }
  }
}

合并得分

1.每个单独函数得分合并 score_mode

multiply,sum,avg,first,max,min

2.函数得分和原始得分合并 boost_mode

sum,avg,max,min,replace

相关推荐
Johny_Zhao44 分钟前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维
守望时空331 小时前
RustDesk搭建指南
linux
C++ 老炮儿的技术栈1 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
白鹭2 小时前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
java叶新东老师3 小时前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN3 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛3 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
未来之窗软件服务4 小时前
跨平台 WebSocket 服务器的设计与实现 —— 基于.NET 8 的跨操作系统解决方案linux,macos,windows——开发工具
linux·服务器·websocket·仙盟创梦ide·东方仙盟
杰哥的狗4 小时前
nacos连接失败,启动失败常见问题
linux·docker
Jackilina_Stone4 小时前
【faiss】用于高效相似性搜索和聚类的C++库 | 源码详解与编译安装
android·linux·c++·编译·faiss