ElasticSearch中文分词(二)

1、中文分词

中文分词的难点在于,在汉语中没有明显的词汇分界点,如在英语中,空格可以作为分隔符,如果分隔不正确就会造成歧义。

常用中文分词器,IK、jieba、THULAC等,推荐使用IK分词器。


IK分词器 Elasticsearch插件地址:https://github.com/medcl/elasticsearch-analysis-ik

#安装方法:将下载到的elasticsearch-analysis-ik-6.5.4.zip解压到/elasticsearch/plugins/ik 
目录下即可。 
#如果使用docker运行 
docker cp elasticsearch-analysis-ik-6.5.4.zip elasticsearch:/usr/share/elasticsearch/plugins/ 
#进入容器 
docker exec -it elasticsearch /bin/bash 
mkdir /usr/share/elasticsearch/plugins/ik 
cd /usr/share/elasticsearch/plugins/ik 
unzip elasticsearch-analysis-ik-6.5.4.zip 
#重启容器即可 
docker restart elasticsearch

测试

POST http://192.168.142.128:9200/_analyze
{
  "analyzer": "ik_max_word",
  "text": "我是中国人"
}

自定义词汇

进入容器

docker exec -it elasticsearch /bin/bash

进入容器的config目录下

创建一个自定义文件my.dic, 并写入一些内容

打开IKAnalyzer.cfg.xml

IKAnalyzer.cfg.xml

写入内容

<entry key="ext_dict">my.dic</entry>

退出并重启容器

 

测试

POST http://192.168.142.128:9200/_analyze 
{
  "analyzer": "ik_max_word",
  "text": "我和我的两个朋友张三与李四都喜欢玩英雄联盟跟吃鸡"
}

 

热更新IK分词的方法

 

gitHub上的截图

 

-----------------------------------------------------------------------------

加入 一条数据

POST http://192.168.142.128:9200/haoke/house
{
  "image": "SH2137695162426728448.jpg",
  "orientation": "53㎡",
  "houseType": "2室1厅1卫",
  "rentMethod": "租赁方式未知",
  "time": "需提前预约",
  "title": "婚房装修,品牌家具,塘桥四号线地铁口精装两房,",
  "rent": "6200",
  "floor": "高楼层/6层",
  "url": "https://sh.lianjia.com/zufang/SH2137695162426728448.html"
}

测试查询数据

POST http://192.168.142.128:9201/haoke/house/_search
{
  "query": {
    "match": {
      "title": {
        "query": "地铁"
      }
    }
  },
  "highlight": {
    "fields": {
      "title": {
        
      }
    }
  }
}

结果如下

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值