rlanffy
这个作者很懒,什么都没留下…
展开
-
ElasticSearch源码解读二:启动过程详解
上一篇文章说了ES的源码编译以及如何在本地编译。这一篇文章主要说明ES的启动过程。环境准备参考ElasticSearch源码编译和Debug。说明:本文章使用的ES版本是:6.7.0启动函数:org.elasticsearch.bootstrap.ElasticSearch设置如下断点:启动在上一篇文章中介绍的Debug模式中的一种,这里我用的远程Debug模式。ElasticSe...原创 2020-03-10 15:21:22 · 580 阅读 · 0 评论 -
Elasticsearch源码解读六:ES中的倒排索引
文章目录前言分词单词-文档矩阵倒排索引单词词典倒排列表举例倒排索引的搜索过程系列文章前言再Elasticsearch系列三:创建索引过程详解一文中,介绍了ES创建索引的流程。再流程中是调用Lucene的接口来创建索引的。本篇文章主要介绍ES中的索引——倒排索引分词在创建索引之前,会对文档中的字符串进行分词。ES中字符串有两种类型,keyword和text。keyword类型的字符串不会被分词,搜索时全匹配查询text类型的字符串会被分词,搜索时是包含查询不同的分词器对相同字符串分词的结果大原创 2021-01-07 14:05:58 · 560 阅读 · 0 评论 -
Elasticsearch源码解读五:搜索相关性排序算法详解
前言说明:本文章使用的ES版本是:6.2.4在上一篇文章Elasticsearch搜索过程详解中,介绍了ES的搜索过程。接下来我们具体的看一下ES搜索时,是如何计算文档相关性得分并用于排序的。TF-IDF在介绍ES计算文档得分之前,先来看一下TF-IDF算法。TF-IDF(Term Frequency–Inverse Document Frequency)是一种用于信息检索与文本挖掘的...原创 2020-03-12 11:13:53 · 940 阅读 · 0 评论 -
Elasticsearch源码解读四:搜索过程详解
前言说明:本文章使用的ES版本是:6.7.0在上一篇文章Elasticsearch如何创建索引?中,介绍了ES写入文档的过程。接下来我们具体的看一下ES中,搜索过程是怎样的在ES中搜索按照前面几篇文章的步骤,我们直接开始debug搜索的过程。上一篇文章中我们写入了如下的数据{ "id":6, "title": "我是文件标题,可被搜索到66", "text": ...原创 2020-03-10 15:20:53 · 354 阅读 · 0 评论 -
Elasticsearch源码解读三:创建索引过程详解
前言说明:本文章使用的ES版本是:6.7.0在上一篇文章搜索引擎ElasticSearch的启动过程中,介绍了ES的启动过程。由此可知,在ES启动过程中,创建Node对象(new Node(environment))时,初始化了RestHandler,由其名字可以知道这是用来处理Rest请求的。在ES源码中,RestHandlerAction如下图:其中:admincluste...原创 2020-03-10 15:21:07 · 664 阅读 · 0 评论 -
ElasticSearch源码解读一:源码编译和Debug环境搭建
环境准备说明:本文章使用的ES版本是:6.7.0JDKElastisearch 6.7.0编译需要JDK版本10.0及以上,我直接安装了JDK12.JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.htmlGradlebrew install gradleElastisearch源码git c...原创 2020-03-10 15:22:15 · 647 阅读 · 0 评论