elasticksearch分词,导致kibana的url出现问题
Posted Redheat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticksearch分词,导致kibana的url出现问题相关的知识,希望对你有一定的参考价值。
在Kibana的展示页面中,我们点击Table的左侧栏,发现Elasticsearch中的数据在展示中是正确的数据,比如:agent中www.baidu.com/test,该界面中会正确的显示为www.baidu.com/test,但是如果我们将该字段用Term展示出来的话,就会被分为www.baidu.com和test两组,通过查看CURL并没有发现其有任何问题,最后找到原因为Elasticsearch将其结果分开给了Kibana,所以Kibana会分开展示。
通过研究,我们数据源为logstash自动收集过来的,索引是自动生成的,我们并不能去修改索引的Mapping将其设置为不分词,所以我们只能从其源头下手,当其创建的时候自动设置为不分词,这时我们就需要配置模板了。
代码如下:
curl -XPUT http://localhost:9200/_template/template_1 -d ‘ { "template" :"logstash*", "order" : 0, "settings" : { "number_of_shards" : 5 }, "mappings" : { "fluentd" : { "properties":{ "request_dir" :{"type":"string","index" :"not_analyzed"}, "http_user_agent" : {"type" : "string","index" :"not_analyzed" } } } } } ‘
其中重要的是mappings 中的设置,一级一级的按照数据源正则分解,"index" : "not_analyzed"为不分词,便于搜索
以上是关于elasticksearch分词,导致kibana的url出现问题的主要内容,如果未能解决你的问题,请参考以下文章
Centos7 Elasticsearch+IK中文分词+Kibana
Ubuntu16.04下安装elasticsearch+kibana实现php客户端的中文分词
ES学习笔记-可视化界面KIbana及ES的增删改查及中文分词配置
docker 部署 Elasticsearch kibana 以及 ik分词器