商城项目中 ES 搜索怎么进行分词优化?

查看 124|回复 13
zakokun   
@zakokun 当然怎么拆还是看你配置,不一样是这样拆分的,你可以用_analyze 接口,带上你的分词器和查询内容,看看把它分成了什么,再对比你的搜索语句
3country
OP
  
@zakokun 感谢,我试试
chippai   
1. 汤锅是一个词,在 ik-max-word 分完后创建的是一个完整的汤锅索引,所以锅搜不出来
1.1 将锅加到自定义词典,可以分为汤锅/锅,就可以检索到了
1.2 对一些单字通过 should 模糊匹配去搜,可以降低一些分值排在后面
2. 护关节被分为护/关节,护肝分为护/肝,护匹配到了
2.1 增加护关节、护肝自定义词典,然后使用 ik-smart 去搜索
通过命令查看 es 是咋分的
POST _analyze
{
"analyzer": "ik_max_word",
"text": "护关节"
}
chippai   
2.2 可以先将 query 词使用 match_phrase 函数,然后 should 上 match 函数;增加 match_phrase 的分值权重
您需要登录后才可以回帖 登录 | 立即注册

返回顶部