elasticsearch
文章平均质量分 83
qq_duhai
好记性不如烂笔头...
展开
-
彻底讲透 全文搜索引擎 Elasticsearch
生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 非结构化数据结构化数据: 也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据: 又可称为全文数据,不定长或无固定格式,不适于由数据库二维表来表现,包括所有格式的办公文档、XML、HTML、Word 文档,邮件,各类报表、图片和咅频、视频信息等。说明:如转载 2022-04-14 11:02:52 · 1032 阅读 · 0 评论 -
(Elasticsearch)ES写入性能优化方案
在ES的默认设置下,是综合考虑数据的可靠性,搜索实时性,写入速度等因素的。当离开默认设置,追求极致写入速度时,很多是以牺牲可靠性和搜索实时性为代价的。有时候,业务上对数据可靠性和搜索实时性要求不高,反而对写入速度要求很高,此时可以调整一些策略,最大化写入速度。综合来说可以从以下几个方面入手:加大translog flush间隔,目的是降低iops,writeblock (可靠性降低) 加大index refresh间隔,除了降低I/O,更重要的是降低segment merge频率 调整bulk转载 2022-03-16 10:41:55 · 4751 阅读 · 0 评论 -
(Elasticsearch)ES写入性能优化方案
1、tranlog flush 间隔调整默认设置下,每个请求都flush,这是影响es写入速度的最大因素,需要调整translog持久化策略为周期性和一定大小的时候flush,例如:index.translog.durability: async设置为async表示translog的刷盘策略按sync_interval配置指定的时间周期进行。index.translog.sync_interval:120s加大translog刷盘间隔时间。默认5s,不低于100ms.index.tr转载 2022-03-16 10:40:08 · 2862 阅读 · 0 评论 -
Es7.x使用RestHighLevelClient进行查询操作
数据准备 查询操作 2.1 match查询 2.2 bool查询 2.3 constant_score查询 2.4 matchPhraseQuery搜索 2.5 range范围查询1. 数据准备数据准备:接入方式详见Es7.x使用RestHighLevelClient进行增删改和批量操作PUT test_demo PUT test_demo/_mapping{ "properties":{ "id":{ "type":"long" },转载 2022-01-27 12:01:02 · 8729 阅读 · 1 评论 -
Es7.x使用RestHighLevelClient进行增删改和批量操作
引入依赖 初始化RestHighLevelClient和BulkProcessor对象 增删改操作 3.1 数据准备 3.2 单条数据异步插入 3.3 单条数据同步插入 3.4 批量插入 3.5 更新操作 3.6 带条件的更新语句 3.7 批量更新 3.8 删除操作 3.9 条件删除Java层面操作elasticSearch7.x,为了便于操作,不集成Spring,使用main方法进行调用。1. 引入依赖 <!--解决:java.lang.NoCla转载 2022-01-27 10:32:52 · 12154 阅读 · 1 评论 -
elasticsearch log日志占满磁盘的问题总结
今天在工作过程中遇到了一个问题,elasticsearch创建索引失败,我首先检查一下磁盘,发现磁盘爆满了df -h /data然后具体的查看是哪个文件占用过多du -h /data发现是es-data目录,再继续发现cd /data/es-datadu -h 发现是logs目录占用最多,这个logs目录是配置给es的日志的,具体的配置为:elasticsearch.yml文件中的path.logs参数这个参数配置的是日志的存放目录。而log4j2.proper.原创 2021-07-27 10:01:35 · 3239 阅读 · 1 评论 -
elasticsearch6.8+x-pack密码验证整合
Elasticsearch官网于2016年发布Low Level REST客户端,该客户端基于Apache HTTP客户端,允许通过HTTP协议与任何版本的Elasticsearch集群通信。在Low Level REST客户端的基础上,Elasticsearch发布了High Level REST Client。Elasticsearch 7.0中已经弃用Transport Client,在8.0中完全移除它。因此在实际开发中建议您使用Java REST Client(RestHighLevelCli转载 2020-11-09 10:21:14 · 1463 阅读 · 3 评论 -
x-pack-transport.jar为什么找不到问题处理
直接在maven中配置 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>x-pack-transport</artifactId> <version>6.8.6</version> </dependency>是找不到的,因为中央原创 2020-11-06 15:26:19 · 2341 阅读 · 7 评论 -
elasticsearch中client.transport.sniff的使用方法和注意事项
(1)通过TransportClient这个接口,我们可以不启动节点就可以和ES集群进行通信,它需要指定ES集群中其中一台或多台机的IP地址和端口,例子如下: Client client = new TransportClient() .addTransportAddress(newInetSocketTransportAddress("host1", 9300)) .addTransportAddress(newI转载 2020-11-06 15:14:56 · 987 阅读 · 0 评论 -
Java High Level REST Client 之 创建索引
1. 创建索引请求CreateIndexRequest request = new CreateIndexRequest("twitter");2.设置2.1 分别设置2.1.1 索引设置request.settings(Settings.builder() .put("index.number_of_shards", 3) .put("index.number_of_replicas", 2));2.1.2 映射表request.mapping(转载 2020-07-16 14:50:20 · 1947 阅读 · 0 评论 -
Elasticsearch scroll java
package com.ygsoft.jvm.read;import java.net.InetAddress;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import org.elasticsearch.action.search.SearchRequestBuilder;import org.elasticsearch.action.search.SearchResponse;imp.原创 2020-06-28 11:32:22 · 496 阅读 · 0 评论 -
Elasticsearch search_after java查询
/** * 实时统计查询 * @param dto * @param esSkip * @param pageSize * @return */ public Map<String, Object> queryCommonMetricByTime(final QueryCommonV1DTO dto, final String esSkip, final Integer pageSize) { final Ma.原创 2020-06-28 11:30:17 · 3132 阅读 · 1 评论 -
Elasticsearch 分页问题
Elasticsearch分页一般有三种方式:1.form和size的方式2.Scroll api3.search_after参数from+size分页按照一般的查询流程来说,如果我想查询前10条数据: 1 客户端请求发给某个节点 2 节点转发给个个分片,查询每个分片上的前10条 3 结果返回给节点,整合数据,提取前10条 4 返回给请求客户端该分页方式可以通过from+size的方式来进行实现。from定义了目标数据的偏移值,size定义当...原创 2020-06-28 11:22:03 · 423 阅读 · 0 评论 -
Logstash处理json格式日志文件的三种方法
假设日志文件中的每一行记录格式为json的,如:{"Method":"JSAPI.JSTicket","Message":"JSTicket:kgt8ON7yVITDhtdwci0qeZg4L-Dj1O5WF42Nog47n_0aGF4WPJDIF2UA9MeS8GzLe6MPjyp2WlzvsL0nlvkohw","CreateTime":"2015/10/13 9:39:59","AppG转载 2016-12-08 16:19:41 · 2046 阅读 · 0 评论 -
elasticsearch 查询(match和term)
es中的查询请求有两种方式,一种是简易版的查询,另外一种是使用JSON完整的请求体,叫做结构化查询(DSL)。由于DSL查询更为直观也更为简易,所以大都使用这种方式。DSL查询是POST过去一个json,由于post的请求是json格式的,所以存在很多灵活性,也有很多形式。这里有一个地方注意的是官方文档里面给的例子的json结构只是一部分,并不是可以直接黏贴复制进去使用的。一般要在外面转载 2016-12-08 16:27:33 · 225 阅读 · 0 评论 -
ELK之logstash长久运行
今天介绍一下关于logstash的启动方式,以前说的都是使用/usr/local/logstash -f /etc/logstash.conf方式启动,这样就有一个麻烦,当你关闭终端,或者ctrl+c时logstash就会退出。下面介绍几种长期运行的方式。1、service方式使用rpm方式安装的,都可以/etc/init.d/logstash启动,编译安装的就需要你自己写启动脚本转载 2017-09-05 15:04:27 · 6772 阅读 · 0 评论 -
Elasticsearch在Centos 7上的安装与配置
安装JDK 8Elasticsearch官方建议使用 Oracle的JDK8,在安装之前首先要确定下机器有没有安装JDK.1rpm-qa| grep-E'^open[jre|jdk]|j[re|dk]'如果有,有可能是系统自带的openjdk,而非oracle的jdk。可以使用rpm转载 2017-09-02 10:24:30 · 763 阅读 · 0 评论 -
elasticsearch插件安装之--linux下安装及head插件
/** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */安装和学习可参照官方文档: 1, 安装# 下载, 获取不成功可直接从官网下载curl -L -O https://download.elastic.co/elasticsearch/release/org/elastics转载 2017-09-02 10:26:55 · 235 阅读 · 0 评论 -
elasticsearch-head的使用
ealsticsearch只是后端提供各种api,那么怎么直观的使用它呢?elasticsearch-head将是一款专门针对于elasticsearch的客户端工具elasticsearch-head配置包,下载地址:https://github.com/mobz/elasticsearch-headelasticsearch-head是一个基于node.js的前端工程,启动elasti...转载 2019-06-24 14:13:18 · 283 阅读 · 0 评论 -
ElasticsearchUtils操作
package com.tools.es.util;import java.io.IOException;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.annotat...原创 2019-07-04 15:26:21 · 2210 阅读 · 1 评论 -
Elasticsearch Java API 的使用(14)—优化索引创建之setting设置、写入优化
一、索引刷新间隔调整:refresh_interval默认情况下索引的refresh_interval为1秒,这意味着数据写1秒后就可以被搜索到,每次索引的 refresh 会产生一个新的 lucene 段,这会导致频繁的 segment merge 行为,如果你不需要这么高的搜索实时性,应该降低索引refresh 周期(即你可能想优化索引速度而不是近实时搜索, 可以通过设置 refresh_...转载 2019-07-04 15:55:36 · 2265 阅读 · 1 评论 -
ES API之index的create/update/delete/open/close(创建index时设置setting,并创建index后根据avro模板动态设置index的mapping)
要想通过ES API对es的操作,必须获取到TransportClient对象,让后根据TransportClient获取到IndicesAdminClient对象后,方可以根据IndicesAdminClient对象提供的方法对ES的index进行操作:create index,update index(update index settings,update index mapping),d...转载 2019-07-04 16:43:23 · 1622 阅读 · 0 评论 -
Elasticsearch实战(五):外网访问Elasticsearch
AWSaws的话比较简单了,内网对应的都有外网映射,我们需要外网访问的话直接访问外网ip就可以了。不过要注意Elasticsearch配置文件中network.host要配置内网的主机名或ip。虚拟机虚拟机的环境相对复杂一些,这里指的并不是本地的虚拟机,而是服务器上的虚拟机。这个时候并不是单纯的ip映射了,因为还有一层远程物理机。一种做法是:network.host: 0.0.0...转载 2019-08-20 11:01:33 · 476 阅读 · 0 评论 -
es 一 ---- elasticsearch1.5安装使用+IK中文分词
环境:系统:centos6.4elasticsearch:1.5.2ik:1.5 1.安装elasticsearch[html] view plain copy curl -L -O https://download.elastic.co/elasticsearch/elasticsearch/elasticsearc转载 2016-12-08 11:00:02 · 321 阅读 · 0 评论