关于企业名称搜索排序结果的一个疑问咨询

Elasticsearch | 作者 zhugw | 发布于2019年09月07日 | 阅读数:109

输入企业名称 搜索企业 发现了这么一个问题
输入: 
{
"query": {"match": { "name": "宿迁天强" }},
"_source":["name"]
}'
返回:
 
"hits" : [
{
"_score" : 17.652739,
"_source" : {
"name" : "宿迁天之强广告有限公司"
}
},
{
"_score" : 16.228601,
"_source" : {
"name" : "宿迁强强广告有限公司"
}
},
{
"_score" : 15.202543,
"_source" : {
"name" : "宿迁中强物资有限公司"
}
},
{
"_score" : 15.202543,
"_source" : {
"name" : "宿迁申强电子商务有限公司"
}
},
{
"_score" : 15.202543,
"_source" : {
"name" : "宿迁万强物流有限公司"
}
},
{
"_score" : 14.642265,
"_source" : {
"name" : "宿迁天强股权投资合伙企业(有限合伙)"
}
},...
产品问我 为什么 宿迁强强广告有限公司 宿迁中强物资有限公司 宿迁申强电子商务有限公司 宿迁万强物流有限公司 会排在 宿迁天强股权投资合伙企业(有限合伙) 的前面? 查了下(ik_smart)分词结果 如下
 
宿迁强强广告有限公司 ==> 宿迁 强 强 广告 16.228601
宿迁中强物资有限公司 ==> 宿迁 中 强 物资 15.202543
宿迁申强电子商务有限公司 ==> 宿迁 申 强 电子商务 15.202543
宿迁万强物流有限公司 ==> 宿迁 万 强 物流 15.202543
宿迁天强股权投资合伙企业(有限合伙) ==> 宿迁 天 强 股权 投资 合伙 企业 有限 合伙 14.642265
搞不清楚了 为什么宿迁天强股权投资合伙企业(有限合伙)得分比其他却低呢 至少还多命中了一个‘天’啊
 
 



 
 
 
已邀请:

Yu Tao

赞同来自:

你的分词是什么?
你现在是TF/IDF的算法,你试试 BM25

HelloClyde

赞同来自:

你开下explain看下分怎么算的

God_lockin

赞同来自:

你的query会被拆成:宿迁,天,强
 
所有的hit里,强强那个里面包含 宿迁x1 强x2,然后除以整个字段的长度之后会比最后一个,宿迁x1 天x1 强x1 除出来的结果要高,所以会排前面

要回复问题请先登录注册