随笔分类 -  elasticsearch

摘要:这篇文章介绍了 ES 原生支持向量检索的方式。后面再出一篇,如何采用ES插件的方式集成其它向量检索工具,比如:ES+FAISS KNN(k-nearest neighbor) search vs ANN search KNN 检索:给定一个 query vector,寻找 K个与之最相近的向量。数据 阅读全文
posted @ 2023-09-10 12:36 大熊猫同学 阅读(1338) 评论(4) 推荐(0) 编辑
摘要:主要解释下面3个常用的参数: index 参数 store 与 _source 参数 doc_value 参数 1、index 参数 默认为true。当设置为true时,代表需要对该字段进行检索,也即倒排查询,根据 query 条件 查询 doc_id 2、store 与 _source 参数 这2 阅读全文
posted @ 2023-08-23 18:06 大熊猫同学 阅读(180) 评论(1) 推荐(0) 编辑
摘要:官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html 为什么 function_score 查询可以修改得分?todo:以示例进行演示 func 阅读全文
posted @ 2022-04-25 17:40 大熊猫同学 阅读(648) 评论(0) 推荐(0) 编辑
摘要:本文介绍 ES(ES7.8.0) 里面两种不同的聚合统计,cardinality aggregations 和 terms aggregations。为了方便理解,以 MySQL 表的示例数据来讲解 ES 的这两个聚合功能。MySQL 表结构如下: CREATE TABLE `es_agg_test 阅读全文
posted @ 2021-05-30 13:29 大熊猫同学 阅读(3034) 评论(0) 推荐(0) 编辑
摘要:MAC OS 10.15 Lucene 源码分析环境搭建 lucene-solr 的github 项目中的 README 其实已经讲得很清楚了,但搭一个大项目的环境还是耗时耗力的。如果出现下载失败的问题,不用担心,重试就好 1,找到lucene-solr github地址 https://githu 阅读全文
posted @ 2020-07-04 21:28 大熊猫同学 阅读(884) 评论(1) 推荐(0) 编辑
摘要:logstash6.8.3 导入 CSV 文件到 ElasticSearch 使用logstash 导入数据到ES时,由三个步骤组成:input、filter、output。整个导入过程可视为:unix 管道操作,而管道中的每一步操作都是由"插件"实现的。使用 查看 logstash 已安装的插件。 阅读全文
posted @ 2020-03-08 22:22 大熊猫同学 阅读(4618) 评论(0) 推荐(0) 编辑
摘要:ElasticSearch如何更新集群的状态 最近发生了很多事情,甚至对自己的技术能力和学习方式产生了怀疑,所以有一段时间没更新文章了,估计以后更新的频率会越来越少,希望有更多的沉淀而不是简单地分享。让我有感悟的是,最近看到一篇关于ES集群状态更新的文章 "Elasticsearch Distrib 阅读全文
posted @ 2019-11-16 18:40 大熊猫同学 阅读(1416) 评论(0) 推荐(0) 编辑
摘要:使用索引别名和Rollover滚动创建索引 在 "ElasticSearch6.3.2 集群做节点冷(warm) 热(hot) 分离" 中,实现了ElasticSearch集群节点的冷热分离,新创建的索引只允许分配到hot节点上,而随着时间推移,旧的历史索引数据需要迁移到warm节点上。因此,ES索 阅读全文
posted @ 2019-09-14 12:49 大熊猫同学 阅读(4550) 评论(0) 推荐(2) 编辑
摘要:ElasticSearch6.3.2源码分析之节点连接实现 这篇文章主要分析ES节点之间如何维持连接的。在开始之前,先扯一下ES源码阅读的一些心得:在使用ES过程中碰到某个问题,想要深入了解一下,可源码又太多了,不知道从哪里入手,怎么办?ES启动的入口类是Elasticsearch.java,顺着这 阅读全文
posted @ 2019-08-31 15:21 大熊猫同学 阅读(810) 评论(1) 推荐(0) 编辑
摘要:拿一个小规模的5节点ES集群做冷热分离尝试,它上面已经有60多个索引,有些索引按月、每月生成一个索引,随着数据的不断写入,历史数据(只需保留三个月数据,三个月之前的数据视为历史数据)越来越占磁盘空间和内存资源,影响搜索响应时间。因此想把集群中节点分成2种类型,一种是hot节点,配置大内存和SSD,用 阅读全文
posted @ 2019-08-10 15:42 大熊猫同学 阅读(5359) 评论(0) 推荐(0) 编辑
摘要:Elasticsearch 定义字段时Norms选项的作用 本文介绍ElasticSearch中2种字段(text 和 keyword)的Norms参数作用。 创建ES索引时,一般指定2种配置信息:settings、mappings。settings 与数据存储有关(几个分片、几个副本);而mapp 阅读全文
posted @ 2019-08-03 14:46 大熊猫同学 阅读(4099) 评论(3) 推荐(2) 编辑
摘要:"Elasticsearch 通信模块的分析" 从宏观上介绍了ES Transport模块总体功能,于是就很好奇ElasticSearch是怎么把服务启动起来,以接收Client发送过来的Index索引操作、GET获取文档操作 等一系列操作的呢?本文分析:ElasticSearch6.3.2 Net 阅读全文
posted @ 2019-07-20 15:01 大熊猫同学 阅读(3597) 评论(2) 推荐(0) 编辑
摘要:ElasticSearch6.3.2 中的JVM性能调优 前一段时间被人问了个问题:在使用ES的过程中有没有做过什么JVM调优措施? 在我搭建ES集群过程中,参照 "important settings" 官方文档来的,并没有对JVM参数做过多的调整。但谈到JVM配置参数,少不了操作系统层面上的一些 阅读全文
posted @ 2019-07-12 23:19 大熊猫同学 阅读(19840) 评论(0) 推荐(0) 编辑
摘要:ElasticSearch 线程池类型分析之 ResizableBlockingQueue 在上一篇文章 "ElasticSearch 线程池类型分析之 ExecutorScalingQueue" 的末尾,谈到了处理ES 搜索操作(search)的线程池的一些实现细节,本文就以下几个问题分析SEAR 阅读全文
posted @ 2019-07-05 20:56 大熊猫同学 阅读(1541) 评论(0) 推荐(0) 编辑
摘要:ElasticSearch 线程池类型分析之 ExecutorScalingQueue 在 "ElasticSearch 线程池类型分析之SizeBlockingQueue" 这篇文章中分析了ES的fixed类型的线程池。本文分析scaling类型的线程池,以及该线程池所使用的任务队列:Execut 阅读全文
posted @ 2019-06-21 22:30 大熊猫同学 阅读(1412) 评论(0) 推荐(0) 编辑
摘要:ElasticSearch 线程池类型分析之SizeBlockingQueue 尽管前面写好几篇ES线程池分析的文章(见文末参考链接),但都不太满意。但从ES的线程池中了解到了不少JAVA线程池的使用技巧,于是忍不住再写一篇(ES6.3.2版本的源码)。文中给出的每个代码片断,都标明了这些代码是来自 阅读全文
posted @ 2019-06-15 22:53 大熊猫同学 阅读(2435) 评论(0) 推荐(0) 编辑
摘要:Elasticsearch基于Netty解决 "C10K问题" 背后的原理是JAVA NIO中的IO多路复用机制,涉及到三大"组件":SelectableChannel、Selector、SelectionKey。普通的"一请求一线程"方式,有一个线程负责 "accept请求" ,请求accepte 阅读全文
posted @ 2019-05-20 22:36 大熊猫同学 阅读(764) 评论(0) 推荐(0) 编辑
摘要:Elasticsearch中各种线程池分析 最近看完了 "ElasticSearch线程池模块" 的源码,感触颇深,然后也自不量力地借鉴ES的 EsThreadPoolExecutor 重新造了一把轮子( "源码在这里" ),对线程池的理解又加深了一些。在继承 ThreadPoolExecutor实 阅读全文
posted @ 2019-03-29 23:51 大熊猫同学 阅读(6747) 评论(0) 推荐(0) 编辑
摘要:ES6.3.2 副本失败处理 副本的失败处理对理解ES的 "数据副本模型" 很有帮助。在 "ES6.3.2 index操作源码流程" 的总结中提到:ES的写操作会先写主分片,然后主分片再将操作同步到副本分片。本文给出ES中的源码片断,分析副本执行操作失败时,ES是如何处理的。 副本执行源码: 实现了 阅读全文
posted @ 2019-03-23 21:10 大熊猫同学 阅读(2374) 评论(0) 推荐(0) 编辑
摘要:一次 ElasticSearch 搜索优化 1. 环境 ES6.3.2,索引名称 user_v1,5个主分片,每个分片一个副本。分片基本都在11GB左右, 一共有3.4亿文档,主分片总共57GB。 Segment信息: user_v1索引一共有404个段: cat user_v1_segment | 阅读全文
posted @ 2019-03-20 22:22 大熊猫同学 阅读(4062) 评论(0) 推荐(1) 编辑