Elaticsearch第六篇 中文分词

安装IK,参考ELK那一篇 文章,然后重启ES,发现有插件加载即可

1添加索引

put方法提交

127.0.0.1:9200/heiniao5

2、修改默认索引映射

put方法提交

127.0.0.1:9200/heiniao5/_mapping

{
            "properties": {
                "ProductDes": {
                    "type": "text"
                   
                },
                "ProductName": {
                    "type": "keyword"
                    
                },
                "ProductType": {
                    "type": "long"
                },
                "productPrice": {
                    "type": "long"
                    
                }
            }
    
    
}

3、添加数据

4、

{

 "query": {
     "match":{
          "ProductDes":"南京"

     }

 }
 
}

=-----------------
出结果,南京的萝卜和南京的电脑

5、如果 上面搜索“电”  还是有结果。这是南京 的电脑的结果。为了结果更准确。ProductDes里面 ik_smart分词效果。

{
            "properties": {
                "ProductDes": {
                    "type": "text",
                    "analyzer":"ik_smart"
                   
                },
                "ProductName": {
                    "type": "keyword"
                    
                },
                "ProductType": {
                    "type": "byte"
                },
                "productPrice": {
                    "type": "double"
                    
                }
            }
    
    
}

再次添加数据,再次搜索,就发现描述 ProductDsc 里面已经精确分词了,电搜索不出来了。因为和其他的电脑已经组合了

原理:

get方法请求

127.0.0.1:9200/heiniao55/_analyze

{

    "analyzer":  "ik_smart",

    "text":  "这是南京的电脑"    

}

这是 南京 的 电脑  

没有电。故ok

 

post方法

127.0.0.1:9200/heiniao55/_search

{
 "query": {
     "match":{
          "ProductDes":"这是南京的电脑"
     }
 } 
}

先ik_smart 出來一個 的 ,所以再搜索结果全部出来了。

如果想再精确

{

 "query": {
     "match_phrase":{
          "ProductDes":"这是南京的电脑"
     }
 } 
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值