我们虽然在ES中安装了IK分词器,但是并没有用上,所以导致中文分词是每个中文字单独作为一个分词了,就导致召回结果不好,明明相关的内容却召不回。 所以我们需要让IK分词器生效。
创建组件模板
PUT http
{
}
创建索引模板
PUT http
{
}
重建索引
DELETE http://127.0.0.1:9200/know-engine-vector
使用命令,或者代码重新创建一个新的索引。然后查看索引,可以看到text字段已经有analyzer和search_analyzer。
"text": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
},
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
}
在针对问题做查询,就能看到中文的分词了
