赛克蓝德

Elasticsearch 2.20入门篇:基本操作

假如想象 提交于 2021-02-02 06:59:40
前面我们已经安装了 Elasticsearch ,下一步我们要对 Elasticsearch进行一些基本的操作。基本的操作主要有,建索引库,插入数据,查询数据,修改数据,删除数据,删除索引库。 备注:如果没有特殊说明,本文章及后面所有的文章都在2.20版本中进行验证,其他版本不能确定是否可用。 由于官方文档都是使用curl来进行实例操作,不太直观,我更喜欢用图形化界面来进行验证。在本文及以后的例子中,我都是已RESTClient3.5来作为操作的工具。下载地址为http://code.fosshub.com/WizToolsorg-RESTClient/downloads,下载的文件是restclient-ui-3.5-jar-with-dependencies.jar。 程序运行: java -jar restclient-ui-3.5-jar-with-dependencies.jar 建索引库 执行PUT localhost:9200/customer?pretty 返回表示建库成功: { "acknowledged" : true } 说明:http方法PUT,url为 localhost:9200/customer?pretty 查询库 执行GET http://localhost:9200/_cat/indices?v 返回: health status index

Elasticsearch 2.2.0 快照和恢复

佐手、 提交于 2020-12-03 12:39:16
在Elasticsearch中的可以创建快照,它创建单个索引或整个群集到一个远程的存储库中。在以前的版本中,系统只支持共享存储的快照创建,最新的版本可以通过插件支持更多的方式。在执行快照操作前,需要在 Elasticsearch中进行注册快照仓库。注册仓库的设置需要执行仓库类型,例如: 请求:PUT /_snapshot/my_backup 参数: { "type": "fs", "settings": { ... repository specific settings ... } } 当注册后,可以通过查询来得到之前注册的信息。当然系统也支持用逗号分开来查询多个注册,支持通配符查询多个注册,甚至可以使用_all查询所有注册。 请求: GET / _snapshot / my_backup 返回值: { "my_backup": { "type": "fs", "settings": { "compress": "true", "location": "/mount/backups/my_backup" } } } 共享文件系统存储 ("type": "fs")使用共享文件系统来存储快照。为了注册共享的文件系统存储库,必须将同一个共享文件系统安装到所有主节点和数据节点上相同的位置上。这个位置(或它的父目录)必须在 所有主节点数据节点上 设置 path.repo参数

Elasticsearch 2.20 JAVA开发篇:索引文档操作

亡梦爱人 提交于 2020-11-24 09:38:44
既然是开发篇,主要以代码为主,辅助一些说明。所有的内容都是代码实际应该验证过的。 引入的头文件: import static org.elasticsearch.node.NodeBuilder.nodeBuilder; import java.io.IOException; import java.net.InetAddress; import java.util.Date; import java.util.Map; import java.util.Set; import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.action.admin.indices.create.CreateIndexResponse; import org.elasticsearch.action.index.IndexResponse; import org.elasticsearch.client.Client; import org.elasticsearch.client

Elasticsearch 2.20 从新评分

荒凉一梦 提交于 2020-10-28 13:04:39
在Elasticsearch中,搜索单个单词是比较快的,当搜索短语的时候,效率会比较低。所以Elasticsearch提供了从新评分的方法来提高效率。他的原理主要是当在整个索引中搜索短语消耗的资源会比较多,但大多数时候,人们只关注最近发生一部分文档,所以可以先在最近的一段文档中先对短语进行从新评分,然后再查询,这个时候看起来效率会增加很多。 在返回搜索请求节点处理排序结果之前在每个分片上执行从新评分。通常情况下当我们用从新评分API来重新评分的过程只执行一次,在未来有可能会被调整。当search_type为 scan或者count的时候将不被执行。在用分页查询的时候,每一页查询的时候window_size尽量不要修改,如果修改了可能会引起排序的混乱,导致不可预知的结果。 查询评分时 在query或者post_filter 返回的top-k结果 ,在每个分片返回文档的数量有window_size控制,默认返回from到size的个数。 默认情况下对每个文档最终的得分(_score) 是原始的得分和从新评分后的得分进行线性组合后的结果。原始评分和从新评分的比例关系分布由query_weight 和rescore_query_weigh控制,默认都是1。例如从新评分查询: 请求:POST localhost:9200/_search 参数: { "query" : { "match" :

secilog 1.18 发布 增加了mysql审计,多个web报表等

拜拜、爱过 提交于 2020-05-04 00:08:14
日志分析软件 secilog 1.18发布,增加了mysql数据库审计,增加了多个web报表,对日志查询做了更多友好的新特性,上篇文章 1.17 ,有兴趣可以了解一下。本次升级主要增加以下功能: 增加了mysql数据库审计 mysql的审计主要有几种方式,常用的是分析mysql的binlog功能,而binlog的分析一般不能实时分析,还有个问题就是binlog是二进制内容,需要借助第三方系统才可以分析。还有一种常用的方式是通过sniffer来分析mysql的请求,我们目前主要采用的是sniffer来分析mysql的日志。 mysql的sniffer采集需要安装agent,agent是的源码位置如下: ‍ h ‍ ttps://github.com/zhulinu/secimysql, 下载后编译运行就可以到agent,编译完成后配置syslog, /etc/rsyslog.conf增加一行 local0.* @ip 同时修改message中的信息,不然会重复记录 *.info;mail.none;authpriv.none;cron.none /var/log/messages改为下面的内容 *.info;mail.none;authpriv.none;cron.none;local0.none /var/log/messages 然后后台启动监听 nohup .

Elasticsearch 分片错误failed shard recovery解决办法

ε祈祈猫儿з 提交于 2020-04-25 05:27:30
今天早上Elasticsearch莫名奇怪的报错了。整个控制台不停的打印出 [2016-06-07 08:55:00,976][WARN ][indices.cluster ] [secilog] [[seci-201 606][1]] marking and sending shard failed due to [failed recovery] org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [seci-201606 ][1] failed recovery at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexS hardGatewayService.java:162) [2016-06-07 08:40:41,967][WARN ][cluster.action.shard ] [secilog] [seci-201606][1] received shard failed for [seci-201606][1], node[xGIRwM34TdWcKgV95BI74g], [P], s[INITIALIZING], indexUUID [t75Egn6rT2WyBYQk_2X3IQ],

Elasticsearch 2.2.0 插件篇:安装

北慕城南 提交于 2020-02-28 18:38:45
Elasticsearch通过插件来增强其个性化功能需求。他们可以添加自定义映射类型,自定义分析器,本地脚本,自定义发现等等。在 Elasticsearch中,有三种类型的插件: java插件:这些插件只包含jar文件,并且必须安装在集群中的每个节点上。安装后,每个节点必须重新启动后才生效。 站点插件:这些插件包含了静态的Web内容,如JavaScript,HTML和CSS文件, 站 点插件只需要在一个节点上安装,并且不需要重新启动就可以使用。 站点插件通过url进行访问,例如:http://localhost:9200/_plugin/[plugin name]。 混合插件: 混合插件是即包含jar文件又站点插件。 插件管理 插件是通过脚本来进行管理的,可以安装插件,查询插件和删除插件。正常情况下插件位于$ES_HOME/bin下,通过rpm等安装的位置可能会不同。可以通命令获取插件帮助:在目录下执行, plugin -h plugin -h NAME plugin - Manages plugins SYNOPSIS plugin <command> DESCRIPTION Manage plugins COMMANDS install Install a plugin remove Remove a plugin list List installed plugins

Elasticsearch 2.2.0 基础篇:Lucene倒排索引

£可爱£侵袭症+ 提交于 2020-01-09 23:55:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.简介 倒排索引源于实际应用中需要 根据属性的值 来查找记录。这种索引表中的每一项都包括 一个属性值和具有该属性值的各记录的地址 。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。 倒排文件(倒排索引),索引对象是文档或者文档集合中的 单词 等,用来 存储这些单词在一个文档或者一组文档中的存储位置 ,是对文档或者文档集合的一种最常用的索引机制。 搜索引擎的关键步骤就是建立倒排索引 ,倒排索引一般表示为一个 关键词 ,然后是它的 频度 (出现的次数), 位置 (出现在哪一篇文章或网页中,及有关的日期,作者等信息),它相当于为互联网上几千亿页网页做了一个索引,好比一本书的目录、标签一般。读者想看哪一个主题相关的章节,直接根据目录即可找到相关的页面。不必再从书的第一页到最后一页,一页一页的查找。 2.Lucene倒排索引原理 Lucerne是一个开放源代码的高性能的java 全文检索引擎工具包 , 不是一个完整的全文检索引擎 ,而是一个 全文检索引擎的架构 ,提供了 完整的查询引擎和索引引擎 , 部分文本分析引擎 。目的是为软件开发人员提供一个简单易用的工具包,以方便

Elasticsearch 2.3.0 安装成服务

我是研究僧i 提交于 2019-12-09 14:56:15
linux下作为服务 Elasticsearch创建了debian安装包和rpm安装包,可以在官网的下载页面中进行下载。安装包需要依赖JAVA,除此就没有任何依赖。 在debian系统下可以使用 标准的系统工具,init脚本放在 /etc/init.d/elasticsearch下,配置文件默认放在 /etc/default/elasticsearch下。从Debian软件包安装好后默认是不启动服务的。其原因是为了防止实例不小心加入群集。安装好后用dpkg -i命令来确保,当系统启动后启动Elasticsearch需要运行下面的两个命令: sudo update-rc.d elasticsearch defaults 95 10 sudo /etc/init.d/elasticsearch start 当用户运行Debian8或者Ubuntu14或者更高版本的时候,系统需要用systemd 来代替update-rc.d,在这种情况下,请使用systemd来运行,参见下面的介绍。 Elasticsearch通常的建议是使用Oracle的JDK。可以用下面的命令安装。 sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer

secilog 1.16 发布 增加了集群,离线日志导入,日志过滤和归并等

天大地大妈咪最大 提交于 2019-12-09 12:26:14
日志分析软件 secilog 1.16发布,增加了集群,离线日志导入,日志过滤和归并,日志管理,配置管理等。上篇文章 1.15 ,有兴趣可以了解一下。本次升级主要增加以下功能: 集群 主要是采集器可以分布式集群部署,支持横向扩展,理论上支持海量数据。 配置文件中增加了两项: secilog.master=true 采集器主从节点标志,当是从节点的时候,内容要修改成 false master.ip= 当采集器是从节点的时候,需要指定主节点的 ip ,同时要确保系统 7017 , 7018 端口畅通。 离线日志导入 离线日志导入,可以上传文本文件到服务器上,供服务器来分析,可以支持多个文件一次上传: 点击选择文件后会打开本地选择文件对话框,然后选择一个或者多个文本文件。选择文件后,点击开始上传。系统会把文件上传到服务器中。对上传到服务器上的文件,后台的采集器会每各 10 分钟检查是否有新的上传文件,如果有新的文件,后台会分析新上传的文件。 日志过滤和归并 : 过滤规则是指满足条件的日志直接忽略掉,不进行入库操作。 合并规则是指,同时多条日志中,满足相同条件的日志合并成一条日志记录到数据库中。 日志管理 : 日志管理主要是对日志进行管理,包括日志的删除和备份。由于日志是不停的增加,当磁盘不足的时候会严重的影响系统的运行。所以当磁盘空间不足 80% 的时候系统后台会强制删除日志