
ElasticSearch
小小平不平凡
这个作者很懒,什么都没留下…
展开
-
Elasticsearch7 内置分词器介绍
一、ES常用内置分词器standard - ES index默认分词器,按词切分,小写处理simple - 按照非字母切分(符号被过滤),小写处理,会去除数字whitespace - 按照空格切分,不转小写stop - 小写处理,停用词过滤(the,a,is)keyword - 不分词,直接将输入当作输出二、示例说明2.1 standard支持中英文,中文会按单个字切割;将英文单词转换成小写形式,并去除停用词和标点符号POST _analyze{"analyzer": "stan原创 2021-06-24 18:31:11 · 2392 阅读 · 2 评论 -
Elasticsearch7.X漏洞修复实践
一、漏洞描述ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。Elasticsearch的增删改查操作全部由http接口完成。由于Elasticsearch授权模块需要付费,所以免费开源的Elasticsearch可能存在未授权访问漏洞。该漏洞导致,攻击者可以拥有Elasticsearch的所有权限。可原创 2021-06-15 16:23:15 · 2723 阅读 · 0 评论 -
ES与关系型数据库对比
Relational DB -> Databases -> Tables -> Rows -> ColumnsElasticsearch -> Indices -> Types -> Documents -> Fields原创 2021-05-24 18:57:55 · 641 阅读 · 0 评论 -
ES学习之元字段
一、_index(文档所属的索引)_index标注document属于哪个index,是一个虚拟字段,不会被添加到Lucene索引中;将类似的文档 (也就是具有相同field的文档) 存放到同一个index中, 是一种良好的数据建模思想;提供大量查询的index, 最好不要同时提供大量的统计、聚合等操作;可以通过把特定的index路由到指定的shard上, 便于系统的优化⚠️注意:索引名称必须是小写的字母, 不能以下划线"_"开头, 不能包含逗号 “,”二、_uid(包含_type和_id的复合原创 2021-05-24 16:33:27 · 269 阅读 · 0 评论 -
ES学习之单字段支持的最大字符数
ES 5.X版本以后,keyword支持的最大长度为32766个UTF-8字符,text对字符长度没有限制设置ignore_above后,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果原创 2021-05-24 16:03:38 · 2171 阅读 · 0 评论 -
ES学习之ignore_above的作用
ignore_above用于设置超过指定字符后,超出的部分不能被索引或者存储原创 2021-05-24 16:01:28 · 3574 阅读 · 0 评论 -
ES学习之term与match区别
term: 精确查询,对查询的值不分词,直接进倒排索引去匹配match; 模糊查询,对查询的值分词,对分词的结果一一进入倒排索引去匹配原创 2021-05-24 15:56:42 · 322 阅读 · 0 评论 -
ES学习之数据类型
一、核心数据类型1.1 字符串类型1.1.1 文本类型(text)在Elasticsearch 5.4 版本开始,text取代了需要分词的stringtext的内容会被分词, 可以设置是否需要存储: “index”: “true|false”适用于:全文搜索不适用于:text类型的字段不能用于排序;很少用于聚合1.1.2 关键字类型(keyword)在Elasticsearch 5.4 版本开始, keyword取代了不需要分词的stringkeyword的内容不会被分词, 可以设置是否需转载 2021-05-24 15:52:37 · 1109 阅读 · 0 评论 -
ES学习之term与terms区别
term与terms均是用来做查询的,两者区别如下:term 查询某个字段里含有某个关键词的文档GET /index/type/_search/{ "query": { "term": { "title": "blog" } }}terms 查询某个字段里含有多个关键词的文档GET /index/type/_search/{ "query": { "terms": { "title": [ "blog","first"]原创 2021-05-24 15:28:04 · 13036 阅读 · 0 评论 -
Kibana安装教程
1、下载安装包,与ES安装包版本必须保持一致https://www.elastic.co/cn/start2、解压tar -xzf kibana-7.5.1-linux-x86_64.tar.gz3、运行kibana在运行kibana之前先运行Elasticsearch,然后执行如下命令[root@m5315392269-5 kibana-7.5.1-linux-x86_64]# ./bin/kibanakibana服务启动起来后,访问http://localhost:5601,就可以使用原创 2021-02-25 10:01:36 · 326 阅读 · 0 评论 -
ElasticSearch RestAPI
1、 设置分片数和副本数ES7默认主分片数和主分片副本数都为1,通过 default_template 指定分片数PUT http://192.168.8.101:9200/_template/default_template{ "index_patterns" : ["*"], "settings": { "number_of_shards": 3, "number_of_replicas" : 1 }}number_of_shards:每个索引的主分片数,默认值原创 2020-07-31 16:10:10 · 906 阅读 · 0 评论 -
Elasticsearch7中的mapping介绍
简介在Elasticsearch7.0之前,我们将每个文档(document)存储在索引(index)中,并分配一个映射类型。映射类型用于标识索引的文档或实体的类型。举例说明:在一个 demoIndex 索引中,可能设置 user 类型和 info 类型。在 user 类型中可能存在username、age、sex等字段,info 中可能存在username、password、createtime等字段。我们在检索的时候,在url中可以同时指定检索的type进行查询。GET demoIndex/user,转载 2020-07-31 14:38:12 · 2592 阅读 · 0 评论 -
Elasticsearch修改索引中字段类型的方法
一、背景介绍因为我的ES索引中并没有存很多的数据,基本都是测试数据。因此,为了修改字段类型,我选择的方式是直接删除索引并重新创建,然后给新索引添加mapping数据二、操作步骤删除索引:umeapi-logstashcurl -XDELETE -u elastic:changeme http://localhost:9200/umeapi-logstash?pretty重建索引curl -XGET http://localhost:9200/umeapi-logstash?pretty原创 2020-07-31 14:18:49 · 3559 阅读 · 0 评论 -
Java Rest High Level Client实现搜索出的内容按自定义字段Field排序
一、应用场景实际项目开发中要求记录下用户的操作日志,创建一个时间轴展示相关操作日志信息,要求按时间降序显示二、实际代码import com.alibaba.fastjson.JSONObject;import com.google.gson.Gson;import com.taobao.rigel.rap.model.CustomOperationLog;import com.taobao.rigel.rap.utils.PrettyTimeTool;import org.elasticsea原创 2020-07-31 13:34:43 · 6473 阅读 · 0 评论 -
Logstash输入源的三种配置方式
一、修改配置文件# Sample Logstash configuration for creating a simple# Beats -> Logstash -> Elasticsearch pipeline.input { #文件的方式收集日志 file{ path => ["xx/xxx.log"] } #tcp方式收集日志 tcp{ port => "5044"原创 2020-07-27 18:18:20 · 748 阅读 · 0 评论 -
Logstash过滤器插件filter
grok正则捕获grok是一个十分强大的logstash filter插件,它可以通过正则解析任意文本,将非结构化日志数据弄成结构化和方便查询的结构。它是目前Logstash中解析非结构化日志数据最好的方式grok的语法规则: %{语法:语义}“语法”指的是匹配的模式。例如使用NUMBER模式可以匹配出数字,IP模式则会匹配出127.0.0.1这样的IP地址举例:原始数据:172.16.213.132 [07/Feb/2018:16:24:19 +0800] “GET /HTTP/1.1” ..转载 2020-07-27 17:01:28 · 591 阅读 · 0 评论 -
Logstash安装教程
安装原创 2020-01-08 18:25:40 · 693 阅读 · 0 评论 -
Filebeat配置实现不同路径下的log文件作为数据源
步骤1: 打开 filebeat.yml 文件vi filebeat.yml步骤2: 修改 Filebeat inputs参数介绍:(1)type:日志的存储类型(2)paths:配置日志文件的存储路径(3)tags:标签,若后期需要让logstash的过滤器针对不同路径执行不同的过滤筛选,可以使用此参数步骤3: 如果需要Logstash针对Filebeat配置的不同日志路径执行不同的过滤操作,需要步骤3;否则不需要此步骤修改 logstash.conf 文件input { be原创 2020-07-23 20:50:13 · 1556 阅读 · 1 评论 -
Filebeat安装教程
安装下载filebeat压缩包https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.6.16-linux-x86_64.tar.gz解压tar -xzf filebeat-5.6.16-linux-x86_64.tar.gz编辑filebeat.yml,设置filebeat是将日志发给elasticsearch...原创 2020-01-08 10:41:37 · 1856 阅读 · 0 评论 -
使用Java High Level REST Client操作ElasticSearch
介绍Java高级别Rest客户端(Java High Level REST Client)简称高级客户端,其内部仍然是基于低级客户端。提供了更多的API,接受请求对象作为参数并返回响应对象,由客户端自己处理编码和解码。API支持同步或异步调用。兼容性高级客户端需要Java 1.8并依赖于Elasticsearch core项目。客户端版本需要与Elasticsearch版本相同。若要与El...原创 2020-03-22 21:43:44 · 431 阅读 · 0 评论