使用ElasticSearch进行词频统计时发现结果不准

导致分词结果不准的原因有:
    1、对索引使用了5个shard,当进行查询时却只对其中的三个shard进行了查询。
    2、把词频统计的概念搞混了:
        比如说总共有三条数据
        "你知道我知道你不知道的事吗"
        "我不知道你知道我不知道的事"
        "你怎么不知道我知道你知道的事"
        查询时返回的结果:
        {
            "key": "知道",
            "doc_count": 3
        }
        我之前理解上的词频统计:"知道"的个数应该是9才对,但其实是aggs统计的是各个关键词命中的文档(数据)个数。所以"知道"一共在三条数据中出现,doc_count为3没有问题。

elasticsearch词频统计测试
```
1、创建索引
put http://ip:9200/索引名
{
    "mappings":{
        "properties": {
            "id": {
                "type": "long" 
             },
             "talkId":{
                "type":"text"
             },
            "content": {
                "type": "text",
                "analyzer":"ik_max_word",
                 "fielddata": true,
                 "boost":8
            },
            "createDate":{
                "type" :"date" ,
                "format":"yyyy-MM-dd HH:mm:ss" 
            }
        }    
    }

}    

2、插入数据
post http://ip:9200/索引名/_doc/1
{
    "id": 1,
     "talkId":"8c97dcf478a445f5b775080991d00fd7",
     "createDate":"2020-05-15 12:04:00",
    "content": "你知不知道我知道你知道而我不知道的事"
}

3、进行词频统计
post http://ip:9200/索引名/_search
{  
    "size" : 0,  
    "aggs" : {   
        "messages" : {   
            "terms" : {   
                "size":5, #数量
              "field" : "content" #字段
            }  
        }  
    }
}

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值