可以给节点设置权重么?

Yuna 回复了问题 • 2 人关注 • 1 个回复 • 55 次浏览 • 1 天前 • 来自相关话题

ES中会对字段创建一个对应的隐藏字段,这个隐藏字段是不分词的,谁能解释一下这个字段干什么用的

kennywu76 回复了问题 • 2 人关注 • 1 个回复 • 28 次浏览 • 16 小时前 • 来自相关话题

磁盘挂载到数据目录系统无法启动

typuc 回复了问题 • 2 人关注 • 1 个回复 • 69 次浏览 • 4 天前 • 来自相关话题

gradle 构建elasticsearch 报错

回复

dixingxing 回复了问题 • 1 人关注 • 1 个回复 • 77 次浏览 • 2 天前 • 来自相关话题

elasticsearch导入数据中有换行符怎么处理

wyntergreg 回复了问题 • 2 人关注 • 1 个回复 • 76 次浏览 • 2 天前 • 来自相关话题

同一条文档 同字段 主分片与副本分片的 termvectors 不相同?

回复

storm 回复了问题 • 1 人关注 • 5 个回复 • 143 次浏览 • 2 天前 • 来自相关话题

如何设置英文同义词

回复

匿名用户 发起了问题 • 2 人关注 • 0 个回复 • 46 次浏览 • 2 天前 • 来自相关话题

elasticsearch 启动报错

回复

asong133 发起了问题 • 1 人关注 • 0 个回复 • 59 次浏览 • 5 天前 • 来自相关话题

Elasticsearch5.X添加searchguard后TransportClient如何连接

回复

xinghaipili 发起了问题 • 1 人关注 • 0 个回复 • 76 次浏览 • 4 天前 • 来自相关话题

找寻TF_IDF和BM25的评分计算优化排序

jiakechong1642 发表了文章 • 0 个评论 • 122 次浏览 • 6 天前 • 来自相关话题

1.下面简述下如何根据explain解释TFIDF和BM25的评分计算
2.首先是TFIDF
使用ik_smart分词器,ES为2.3.3
文档是:分词结果是
"伟业我爱我家"     分词结果:【伟业,我,爱我,家】
"我爱我家"     【我,爱我,家】
这两个。
multi_match  匹配,query=我爱我家
排名如下
-----------------------------------------------------------
"伟业我爱我家"    "_score": 6.8563557,
详细参数 
"我":tf=1,idf=6.7638364,fieldNorm=0.5,queryNorm=0.07292504,
“爱我”: tf=1,idf=6.7638364,fieldNorm=0.5,queryNorm=0.07292504
“家”: tf=1,idf=6.278329,fieldNorm=0.5,queryNorm=0.07292504
----------------------------------------------------------
"我爱我家"          "_score": 6.7839246,
"我":tf=1,idf=6.9336233,fieldNorm=0.5,queryNorm=0.07370365,
“爱我”: tf=1,idf=6.9336233,fieldNorm=0.5,queryNorm=0.07370365
“家”: tf=1,idf=6.9336233,fieldNorm=0.5,queryNorm=0.07370365
---------------------------------------------------------
其中queryNorm是由每个term词项的idf综合计算而来,所以在每个文档中,他都是一样的。
然后仔细比较得分,觉得每个得分都可以被推算出来
但是排序结果不符合期望:
queryNorm 官方文档也说了基本没有什么用
tf=1没什么可说
idf有些问题,比如"爱我"在这两个文档中是不同的(这是因为这两个文档在不同的分片中引起的)
那这么说来,TFIDF的得分就仅仅受tf,idf,fieldNorm控制,
而idf因为分片不均匀可能会出现一点差异,fieldNorm又犹由于精度让长度为3或者4 的文档值都为0.5
。综上:tfidf在这种量不多(200万)的短文本检索下,效果很差。
这种情况下,我该怎么优化这个排序呢(让“我爱我家”,排在"伟业我爱我家"前面呢?)
 
 
 
------------------BM25的详情稍后补上-------------------------
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  查看全部
1.下面简述下如何根据explain解释TFIDF和BM25的评分计算
2.首先是TFIDF
使用ik_smart分词器,ES为2.3.3
文档是:分词结果是
"伟业我爱我家"     分词结果:【伟业,我,爱我,家】
"我爱我家"     【我,爱我,家】
这两个。
multi_match  匹配,query=我爱我家
排名如下
-----------------------------------------------------------
"伟业我爱我家"    "_score": 6.8563557,
详细参数 
"我":tf=1,idf=6.7638364,fieldNorm=0.5,queryNorm=0.07292504,
“爱我”: tf=1,idf=6.7638364,fieldNorm=0.5,queryNorm=0.07292504
“家”: tf=1,idf=6.278329,fieldNorm=0.5,queryNorm=0.07292504
----------------------------------------------------------
"我爱我家"          "_score": 6.7839246,
"我":tf=1,idf=6.9336233,fieldNorm=0.5,queryNorm=0.07370365,
“爱我”: tf=1,idf=6.9336233,fieldNorm=0.5,queryNorm=0.07370365
“家”: tf=1,idf=6.9336233,fieldNorm=0.5,queryNorm=0.07370365
---------------------------------------------------------
其中queryNorm是由每个term词项的idf综合计算而来,所以在每个文档中,他都是一样的。
然后仔细比较得分,觉得每个得分都可以被推算出来
但是排序结果不符合期望:
queryNorm 官方文档也说了基本没有什么用
tf=1没什么可说
idf有些问题,比如"爱我"在这两个文档中是不同的(这是因为这两个文档在不同的分片中引起的)
那这么说来,TFIDF的得分就仅仅受tf,idf,fieldNorm控制,
而idf因为分片不均匀可能会出现一点差异,fieldNorm又犹由于精度让长度为3或者4 的文档值都为0.5
。综上:tfidf在这种量不多(200万)的短文本检索下,效果很差。

这种情况下,我该怎么优化这个排序呢(让“我爱我家”,排在"伟业我爱我家"前面呢?)
 
 
 
------------------BM25的详情稍后补上-------------------------