weixin_40455124
这个作者很懒,什么都没留下…
展开
-
elasticsearch docker模式下NoNodeAvailableException
今天使用conductor连接容器化的的elasticsearch 遇到NoNodeAvailableException错误,google也没有找到对应文件,查看官网,发现如下配置:transport.publish_hostThe host address to publish for nodes in the cluster to connect to. Defaults to transport.host (if set) or network.publish_host.加上docker的主机i原创 2020-08-14 07:15:21 · 280 阅读 · 0 评论 -
使用新增ingest pipeline及template解决elasticsearch UTC问题
继续寻找解决elasticsearch 默认时区为UTC的方法,这次从ingest 入手,ingest 有date processer,可以实现单个已知field name的转换,使用起来感觉维护工作量不小。从官网可以看到elasticsearch 支持ingest process 插件,因此尝试从template 及增加自定义插件入手看是否可以。先看结果:先准备一个json 用于输入。...原创 2020-04-18 17:30:04 · 700 阅读 · 0 评论 -
如何debug elasticsearch plugin
elasticsearch 官网的discuss 提供的debug方式 是使用attach 模式,并且只支持idea,这样处理很不习惯,于是去翻代码,发现其实也没有那么复杂。先关注下类:/** * A classloader that is a union over the parent core classloader and classloaders of extended plugin...原创 2020-04-18 09:08:25 · 480 阅读 · 0 评论 -
使用plugin自定义类型来解决elasticsearch timezone默认为UTC 问题
elasticsearch 默认时间都使用utc,没法同过配置来修改,关键代码可以参考 public final class DateFieldMapper extends FieldMapper 的如下代码: @Override public Object valueForDisplay(Object value) { Long val =...原创 2020-04-18 08:09:33 · 596 阅读 · 0 评论 -
使用split、shrink修改shards 数量
elasticsearch index shards数量只能在create的时候指定,后续不能通过put 修改。要调整index shards本身是不可能,只能通过split、shrink来进行修改,再通过alias 保持之前的访问,这种模式最大限制是需要先把index设置为read only。另外index clone,可以认为是shards 不变的split。以下是简单测试记录POST...原创 2020-04-15 07:39:34 · 297 阅读 · 0 评论 -
elasticsearch index 及查询优化总结
index 速度优化使用批量(bulk)操作使用多个worker/threads 更新数据,需要注意TOO_MANY_REQUESTS (429) response codes增大refresh interval注意会影响查询结果默认使每秒refresh,即es保障秒级数据查询批量初始化时设置index.refresh_interval to -1 and set...原创 2020-04-14 23:21:29 · 846 阅读 · 0 评论 -
elasticsearch date及timezone总结
首先elasticsearch 所有日期保存都是utc,不能修改。elasticsearch 会识别多种日期,默认支持的日期格式请参看https://www.elastic.co/guide/en/elasticsearch/reference/7.6/mapping-date-format.html#built-in-date-formatsDate Mapping如果一个index 使用...原创 2020-04-14 21:50:13 · 3822 阅读 · 0 评论 -
elasticsearch 启动分析
elasticsearch 启动入口类为package org.elasticsearch.bootstrap 下的class Elasticsearch extends EnvironmentAwareCommand先来看main函数public static void main(final String[] args) throws Exception { //如果设置了"net...原创 2020-04-14 20:47:00 · 227 阅读 · 0 评论 -
elasticsearch BootstrapChecks源码分析
BootstrapChecks 是elasticsearch运行在生产模式下的环境检查,大致分为:jvm 版本检测jvm 参数(-x,-xx)检测操作系统检查,如limitsxpack附加检测入口代码如下:validateNodeBeforeAcceptingRequests(new BootstrapContext(environment, onDiskMetadata), t...原创 2020-04-14 07:48:15 · 129 阅读 · 0 评论 -
elasticsearch index lifecycle management 及index storage 节点管理
elasticsearch 7 可以同node attr 及index设置来决定 index放在那里,可以通过这种模式把hot index放到ssd存储。rollover 支持还不是很完善,同时必须按guide严格使用template设置。存储节点管理nodes 配置属性包括:在elasticsearch.yaml内自定义,以node.attr开头可以自定义的node属性, 如no...原创 2020-04-11 18:04:06 · 550 阅读 · 0 评论 -
elasticsearch 启动及distribution_tools代码分析
本文以tar模式为例分析。启动shll分析启动脚本 是通过一个shell:bin/elasticsearch 来实现的,先看第一部分说明# CONTROLLING STARTUP:## This script relies on a few environment variables to determine startup# behavior, those variables are...原创 2020-04-09 22:32:19 · 283 阅读 · 0 评论 -
elasticsearch pipeline 总结
pipeline 可以理解为elasticsearch 对接收到的数据的入库前再处理过程,这个过程可以非常复杂,包括修改数据归属index。pipeline 运行在ingest node上一个pipeline 由多个process组成,一个nodes支持哪些process ,可以通过GET /_nodes/ingest查看,每种processor用途可以参看https://www.elast...原创 2020-04-09 21:18:45 · 1322 阅读 · 0 评论 -
elasticsearch sql 学习笔记
elasticsearch 7.6 的 sql 还是只支持select,但select 已经和标准sql很像了,关键记录如下:SQL只有select 语句,同时不支持多表(index)查询不支持多index管理 Bad request [Queries with multiple indices are not supported]支持human formats josn,txt,csv...原创 2020-04-08 22:05:58 · 618 阅读 · 0 评论 -
elasticsearch joint Query 学习
joint Query 并不是传统sql的 left join及right join,主要包括Nested 对象查询document 父子关系查询,但没有发现oracle connect 的树形查询nested查询nested对象,path(Required, string) Path to the nested object you wish to searchscore_mo...原创 2020-04-08 22:01:23 · 296 阅读 · 0 评论 -
elasticsearch analyzer 学习笔记
基本定义analyzer执行将输入字符流分解为token的过程使用场景在indexing的时候,也即在建立索引的时候在searching的时候,也即在搜索时,分析需要搜索的词语analysisCharacter filtering (字符过滤器): 使用字符过滤器转换字符Breaking text into tokens (把文字转化为标记): 将文本分成一组一个或多个标...原创 2020-04-08 21:03:30 · 133 阅读 · 0 评论 -
elasticsearch重要配置学习
es configTemp directory$ES_TMPDIR environment variable默认在system temporary directory-/tmp如果操作系统会默认定时清除/tmp 需要自己创建独立的目录This directory should have permissions set so that only the userthat Elas...原创 2020-04-08 20:55:42 · 300 阅读 · 0 评论 -
elasticsearch 文本查询学习
Full Text Query 包括intervals query :查询时候考虑分词间间隔 max_gaps 指query之间的间隔最大允许值,0表示必须在一起,-1,没有间隔要求汉字可能占2位ordered(Optional, boolean) If true, matching terms must appear in their specified order. Defaul...原创 2020-04-07 21:36:12 · 215 阅读 · 0 评论 -
Elasticsearch Compound queries 学习总结
Compound queries 每个都会影响score,其中个人觉得最常用只有bool,一共有如下类型bool query_score 是每个doc的累加must,must_not,filter,should 只能出现一次boost 影响的是返回的"_score"minimum_should_match should部分最少要适配的个数可以使用should实现某个field 值...原创 2020-04-07 20:55:52 · 269 阅读 · 0 评论 -
使用eclipse 编译elasticsearch 7.6.4小结
今天花了不少时间,编译好了elasticsearch 7.6.4,简单总结如下:需要安装jdk 13测试代码使用了com.sun.net.httpserver.HttpExchange ,因此需要关闭限制 “Access restriction on class due to restriction on required library rt.jar”,执行如下动作:On Windows...原创 2020-04-05 18:24:51 · 474 阅读 · 0 评论