摘要:
ElasticSearch 启动时加载 Analyzer 源码分析 本文介绍 ElasticSearch启动时如何创建、加载Analyzer,主要的参考资料是Lucene中关于 "Analyzer官方文档介绍" 、ElasticSearch6.3.2源码中相关类:AnalysisModule、Ana 阅读全文
摘要:
Elasticsearch6.3.2启动过程源码阅读记录 网上有很多关于es的源码分析,觉得自己技术深度还不够,所以这些文章只是看源码过程中的一个笔记,谈不上分析。 整个启动过程以类名.方法名,按顺序依次描述如下: 1. 启动入口类,注册JVM关闭钩子用来清理资源。 2. 在es正式启动之前,加载一 阅读全文
摘要:
本文讨论的是JAVA High Level Rest Client向ElasticSearch6.3.2发送请求( "index操作" 、update、delete……)的一个详细过程的理解,主要涉及到Rest Client如何选择哪一台Elasticsearch服务器发起请求。 maven依赖如下 阅读全文
摘要:
String str1 和 str2 所指向的对象在 "字符串常量池" 中,是同一个对象。 All literal strings and string valued constant expressions are interned,When the intern method is invoke 阅读全文
摘要:
Spark UDF Java 示例 在 "这篇文章" 中提到了用Spark做用户昵称文本聚类分析,聚类需要选定K个中心点,然后迭代计算其他样本点到中心点的距离。由于中文文字分词之后(n gram)再加上昵称允许各个特殊字符(数字、字母、各种符号……),如果直接在原来的文本数据上进行聚类,由于文本的“ 阅读全文
摘要:
记一次线程池任务执行异常 一个名为 fetch 线程池负责从Redis中读取文本数据,将读取到的文本数据提交给另一个线程池 tw ,将 tw 线程池将任务通过HTTP请求的形式上报给过滤服务。如下图所示: 一开始采用默认线程池配置方式: 然后只提交三个任务 ,startService() 是个 以 阅读全文
摘要:
Spark Java API 计算 Levenshtein 距离 在 "上一篇文章" 中,完成了Spark开发环境的搭建,最终的目标是对用户昵称信息做聚类分析,找出违规的昵称。聚类分析需要一个距离,用来衡量两个昵称之间的相似度。这里采用levenshtein距离。现在就来开始第一个小目标,用Spar 阅读全文
摘要:
Spark Java API 之 CountVectorizer 由于在Spark中文本处理与分析的一些机器学习算法的输入并不是文本数据,而是数值型向量。因此,需要进行转换。而将文本数据转换成数值型的向量有很多种方法,CountVectorizer是其中之一。 A CountVectorizer c 阅读全文
摘要:
spark JAVA 开发环境搭建及远程调试 以后要在项目中使用Spark 用户昵称文本做一下聚类分析,找出一些违规的昵称信息。以前折腾过Hadoop,于是看了下Spark官网的文档以及 github 上 官方提供的examples,看完了之后决定动手跑一个文本聚类的demo,于是有了下文。 1. 阅读全文
摘要:
ElasticSearch 写操作 剖析 在看ElasticSearch权威指南基础入门中关于:分片内部原理这一小节内容后,大致对ElasticSearch的索引、搜索底层实现有了一个初步的认识。记录一下在看文档的过程中碰到的问题以及我的理解。此外,在文章的末尾,还讨论分布式系统中的主从复制原理,以 阅读全文