文档章节

elasticsearch的打分策略

arthur666
 arthur666
发布于 2017/07/21 20:10
字数 597
阅读 84
收藏 1

es的搜索结果,每一个结果上面都会有一个“_score”字段,就是搜出来这个结果所占的分值。

这个就涉及到搜索结果的排序问题。当然我们想要相关度越大结果越靠前。

es评分策略设计到两点

   1:内容相关度

    比如淘宝搜索 “小米电视机“,淘宝的搜索会先把条件分词 分为 “小米”“电视”“电视机”(也看可能更细粒度),然后去自己的仓库查找符合条件的产品,当然我们看到的最靠前的就是小米电视机 32寸,曲面 4k 一些相关的电视机,但是你跳转到第五页或者更靠后,你会发现产品 并不是小米电视机,有一些 小米配件,小米遥控板,或者海信电视机,索尼电视剧一类的产品。 这种现象就是说搜索会根据入参的分词去搜索数据库的数据,当字段的值匹配度越高,这个结果的评分就越高,就越靠前。(声明:笔者并不知道淘宝的搜索引擎是什么,只是用这种现象解释一下)

2:映射结构字段的权重值

    

我自己type的一个字段叫做zuName 类型:文本类型,分词器是用的ik的分词器,权重值为5

现在假如有两个字段 :zuName 权重为5 ;zuDetail 权重为3

这样如果多字段搜索的话,两个字段的匹配度一致的话,但是zuName返回的评分更高一点,因为开始设置的权重更高。我现在的用途就是,多type查询的时候,相同字段会设置不同的权重,这样两个type的数据可以区分出来了。

es也支持自定义打分策略,笔者有成熟的自定义打分策略方案会持续更新出来。

我是使用java操作es的,大家可以在扣扣群互相交流

周末愉快,明天不来加班算我输!

 

 

==============================我是分割线===========================

如果本文写的文章对你有帮助,请你用支付宝扫描一下该红包,享受下阿里红利,我们都有红包,来勉励我写更多的文章。谢谢!

 

© 著作权归作者所有

共有 人打赏支持
arthur666
粉丝 15
博文 21
码字总数 9393
作品 0
杨浦
技术主管
加载中

评论(1)

arthur666
arthur666
持续更新关于es5.4 版本的特性,下次会更新关于es聚合的东西
elasticsearch权威指南学习笔记一

elasticsearch是什么? elasticsearch是一个基于apache lucene,实时分布式搜索和分析引擎。也是用java开发的,通过使用Restful api来封装lucene的底层实现,使得交互变得简单。和一般的数据...

domi爹
07/31
0
0
ElasticSearch的ik分词插件开发

ik插件,说白了,就是通过封装ik分词器,与ElasticSearch对接,让ElasticSearch能够驱动该分词器。那么,具体怎么与ElasticSearch对接呢?从下往上走,总共3步: 一、封装IK分析器 与Elastic...

萧十一郎君
2014/05/26
0
1
Uber jaeger--一个基于Go的分布式追踪系统

Jaeger-Uber开源的一个基于Go的分布式追踪系统 最近因工作需要在研究traing系统,最后选了jaeger,下面是一些总结,同时摘抄了网上的一些资料,并结合自己实践过程中遇到的一些什么问题,欢迎...

北极之北
05/30
0
0
使用elasticsearch作为存储引擎部署jaeger

使用elasticsearch作为存储引擎部署jaeger 由于网上大部分文章部署jaeger都是使用Cassandra,使用elasticsearch较少,而我主要是使用elasticsearch来部署的,下面是我的一些使用总结,欢迎指针...

北极之北
05/30
0
0
Centos6搭建elk系统,监控IIS日志

**所需程序: 服务器端:java、elasticsearch、kikbana 客 户 端:IIS、logstash** 一、服务器端(192.168.10.46)操作: 先建立一个ELK专门的目录: [root@Cent65 ~]mkdir /elk/ 上传到elk...

D杀手D
04/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6 取整除法

python3.6 中取整除法运算逻辑如下: d 非零,那么商 q 满足这样的关系: a = qd + r ,且0 ≤ r n1=7//3#7 = 3*2 +1n2=-6.1//3#-7 = 3*(-3)+2'{},{}'.format(n1,n2) 从运行结果可以...

colinux
19分钟前
0
0
阶段总结——用虚拟机搭建一个高可用负载均衡集群架构

[toc] linux基本知识已经介绍完,现有一个业务需要操作,通过对这个项目的操作,可以复习、总结、巩固之前的知识点; ** 用13台虚拟机搭建一个高可用负载均衡集群架构出来,并运行三个站点,...

feng-01
22分钟前
0
0
mysql 设置utf8字符集 (CentOS)

1.查看数据库及mysql应用目前使用的编码方式 (1)链接mysql 客户端 (2)执行:status 结果: 2.修改mysql 应用的字符编码(server characterset ) (1)打开配置文件:vim /etc/mysql/my...

qimh
23分钟前
0
0
windows无法格式化u盘解决方法

1。点开始-运行-输入cmd-format f: /fs: fat32 (这里f:是指U盘所在盘符) 这个格式化会很慢 请耐心等待

大灰狼wow
34分钟前
0
0
MySql 8.0连接失败

原来,MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_s...

放飞E梦想O
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部