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"为不分词,便于搜索

时间: 2024-08-03 18:56:29

elasticksearch分词,导致kibana的url出现问题的相关文章

【每日学习】Apache重写未开启,导致The requested URL /xxxx.html was not found on this server

今天把项目环境从集成换成独立的,全部搭建好后,网站主页www.xxx.com能打开,但一涉及到跳转,带参数,比如 www.xxx.com/xxx/xxx.html 就会报错 The requested URL /xxxx.html was not found on this server 因为是新搭建的环境,apache的重写未开启,开启重写后,问题解决,方法如下: apache 打开 httpd.conf 文件 找到 #LoadModule rewrite_module modules/mod

thinkphp5.0查询到的数据表中的路径是反斜杠导致无法正常显示图片怎么办?

添加到数据表中图片的路径有时会是反斜杠,这就导致了在url后面写路径的时候会识别不出来(不过src后面写路径就可以识别),所以就需要把路径中的反斜杠替换成正斜杠,代码如下: 1 $datu = Db::query('select images from think_ad where ad_position_id = 22'); 2 $str = ""; 3 foreach($datu as $v) 4 { 5 $str .= implode($v); 6 $str .= "|

部署 elk 日志系统 elasticsearch、logstash、 kibana

安装elk         安装Java 1.8环境         解压源码安装包:         tar xf jdk-8u121-linux-x64.tar.gz          ll         mkdir /work/opt -p         mv  jdk1.8.0_121  /work/opt/jdk         ll /work/opt/jdk/         chown -R root.root  /work/opt                   vim

Discuz!在线中文分词服务

Discuz!在线中文分词服务是基于API返回分词结果的.在项目中,我们只需要一个函数即可方便地进行分词.关键词提取.以下是根据Discuz!在线分词服务API写的函数,测试可正常运行: 代码代码如下: /** * DZ在线中文分词 * @param $title string 进行分词的标题 * @param $content string 进行分词的内容 * @param $encode string API返回的数据编码 * @return array 得到的关键词数组 */ functi

使用Discuz关键词服务器实现PHP中文分词

不同于使用自己的服务器进行分词,Discuz!在线中文分词服务是基于API返回分词结果的.在项目中,我们只需要一个函数即可方便地进行分词.关键词提取.以下是根据Discuz!在线分词服务API写的函数,测试可正常运行: 复制代码代码如下: /** * DZ在线中文分词 * @param $title string 进行分词的标题 * @param $content string 进行分词的内容 * @param $encode string API返回的数据编码 * @return  array

Kibana部署及配置(四)

一.Kibana安装 Kibana 是为 Elasticsearch 设计的开源分析和可视化平台.你可以使用 Kibana 来搜索,查看存储在 Elasticsearch 索引中的数据并与之交互.你可以很容易实现高级的数据分析和可视化,以图表的形式展现出来. [email protected] ~]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-x86_64.rpm [[email protected] ~]#

ElasticSearch——分词

前言: 最近在使用elasticSearch中发现有些数据查不出来,于是研究了一下,发现是分词导致的,现梳理并总结一下. ElasticSearch 5.0以后,string类型有重大变更,移除了string类型,string字段被拆分成两种新的数据类型: text用于全文搜索的,而keyword用于关键词搜索. ElasticSearch字符串将默认被同时映射成text和keyword类型,将会自动创建下面的动态映射(dynamic mappings): "relateId": {

ELKStack部署和使用

一.ELKStack简介 1.ELK介绍 中文指南:https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/details ELK Stack包含:ElasticSearch.Logstash.Kibana ElasticSearch是一个搜索引擎,用来搜索.分析.存储日志.它是分布式的,也就是说可以横向扩容,可以自动发现,索引自动分片,总之很强大.文档https://www.elastic.co/guide/cn/elasticsearc

EFK收集Kubernetes应用日志

本节内容: EFK介绍 安装配置EFK 配置efk-rbac.yaml文件 配置 es-controller.yaml 配置 es-service.yaml 配置 fluentd-es-ds.yaml 配置 kibana-controller.yaml 配置 kibana-service.yaml 给 Node 设置标签 执行定义文件 检查执行结果 访问 kibana 一.EFK介绍 Logstash(或者Fluentd)负责收集日志 Elasticsearch存储日志并提供搜索 Kibana负