【大三上学期实训】第四周总结

我们这次自习研究了一下ElasticSearch中的分词器,最终我们决定使用ik中文分词器,

https://github.com/medcl/elasticsearch-analysis-ik

这个分词器中有两种分词方式,一种是ik_smart一种是ik_max_word,前者是通过最粗粒度去进行分词,后者是通过最细粒度进行分词。我们研究之后,决定使用ik_max_word这个是把一句话穷举其中的所有词,比如“春眠不觉晓”分词成为:春眠、不觉、不觉晓、觉晓这几个,ElasticSearch的匹配算法是基于词频的TF/IDF算法,这个算法我们在数据科学导论学过,ik分词器还支持词库的热更新,不过我们这个用不到。一开始我们进行索引建立的时候,分词器老是不生效,后来才发现最新版本的是先创建索引,然后再创建mapping,创建mapping的时候才设置属性我ik_max_word。

如下:

{
         
  
        "properties": {
         
  
            "content": {
         
  
                "type": "text",
                "analyzer": "ik_max_word",
                "search_analyzer": "ik_max_word"
            }
        }
    
}
经验分享 程序员 微信小程序 职场和发展