lucene实战--打分算法没有那么难!
摘要:作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响,程序员们不仅使用它构建具体的全文检索应用,而且将之集成到各种系统软件中去,以及构建Web应用,甚至某些商业软件也采用了Lucene作为其内部全文检索子系统的核心。apache软件基金会的网站使用了Lucene作为全文检索
阅读全文
posted @
2019-03-06 12:00
一天不进步,就是退步
阅读(2815)
推荐(1) 编辑
elasticSearch6源码分析(12)DiscoveryModule
摘要:1.DiscoveryModule概述 2.discovery 调用情况Node.java Discovery接口 实现类有两个: 2.1 SingleNodeDiscovery 构造方法 启动方法 2.2 ZenDiscovery 构造方法 启动方法
阅读全文
posted @
2018-12-24 15:56
一天不进步,就是退步
阅读(294)
推荐(0) 编辑
elasticSearch6源码分析(11)client
摘要:1.RestClient 2.RestHighLevelClient 2.1 IndicesClient 2.2 ClusterClient 2.3 IngestClient 2.4 SnapshotClient 2.5 TasksClient 2.6 XPackClient 2.7 Watcher
阅读全文
posted @
2018-12-21 17:30
一天不进步,就是退步
阅读(319)
推荐(0) 编辑
Elasticsearch java客户端调用cat服务
摘要:开发环境,测试环境,预发环境和生产环境一般相互隔离的,使用开发环境或者测试环境可以使用cat来查看索引的情况 例如: 但预防环境和测试环境是不允许访问的,那怎么办呢? 可以使用后台来查看上述信息,提供界面交互。 java client如何调用cat服务呢 举例: 输出结果
阅读全文
posted @
2018-12-20 17:32
一天不进步,就是退步
阅读(440)
推荐(0) 编辑
elasticSearch6源码分析(10)SettingsModule
摘要:1.SettingsModule概述 2.Setting 2.1 IndexScopedSettings 内置的设置 包含的setting结构图如下: 2.2 ClusterSettings 内置的设置 包含setting的结构图如下 <图1> <图2> <图3> 2.3 SettingsFilte
阅读全文
posted @
2018-12-20 14:33
一天不进步,就是退步
阅读(570)
推荐(0) 编辑
elasticSearch6源码分析(9)ActionModule
摘要:1.ActionModule概述 1.1 创建TransportAction 其类层次结构如下 1.2 创建ActionFilter 2.ActionModule使用 增加了rest服务的处理handler 类层次关系如下: 3.小结 actionModule定义了处理tcp和http服务的hand
阅读全文
posted @
2018-12-19 16:09
一天不进步,就是退步
阅读(257)
推荐(0) 编辑
elasticSearch6源码分析(8)RepositoriesModule模块
摘要:1.RepositoriesModule概述 1.1 snapshot概述 1.2 repository 实例:备份 恢复 删除 监控 2.配置类BlobStoreRepository 配置类的实现 3.重点类 3.1 SnapshotsService 创建snapshot 3.2 RestoreS
阅读全文
posted @
2018-12-18 17:25
一天不进步,就是退步
阅读(296)
推荐(0) 编辑
elasticSearch6源码分析(7)node
摘要:1.node概述 2.配置Node类 3.node通信 :NodeClient.java 4.TransportAction.java(node之间通信,走tcp)
阅读全文
posted @
2018-12-13 15:49
一天不进步,就是退步
阅读(282)
推荐(0) 编辑
elasticSearch6源码分析(6)http和transport模块
摘要:1.http模块概述 2.http配置类HttpTransportSettings 3.使用Netty4HttpServerTransport 4.http消息处理 4.1 RestController 请求分发器 4.2 处理request的类RestHandler 以search为例 其具体实现
阅读全文
posted @
2018-12-13 15:06
一天不进步,就是退步
阅读(1009)
推荐(0) 编辑
elasticSearch6源码分析(5)gateway模块
摘要:1.gateway概述 2.gatewaymodule模块 2.1 DanglingIndicesState 2.2 GatewayService 配置信息 2.3 TransportNodesListGatewayStartedShards
阅读全文
posted @
2018-12-13 11:09
一天不进步,就是退步
阅读(289)
推荐(0) 编辑
elasticSearch6源码分析(4)indices模块
摘要:1.indices概述 2.IndicesModule模块作用 3.重点类 3.1 Mapper 3.2 IndicesService 暂时不知道该怎么写,//TODO
阅读全文
posted @
2018-12-12 16:50
一天不进步,就是退步
阅读(340)
推荐(0) 编辑
elasticSearch6源码分析(3)cluster模块
摘要:1. cluser概述 2. ClusterModule模块的作用 3.重点类介绍: 3.1 配置类Decider 各种Decider关系如下 以EnableAllocationDecider.java为例: Decider的使用 3.2 配置类Allocator 使用 3.3 服务类 分别调用 2
阅读全文
posted @
2018-12-11 16:18
一天不进步,就是退步
阅读(372)
推荐(0) 编辑
elasticsearch的join查询
摘要:1.概述 官方文档 https://www.elastic.co/guide/en/elasticsearch/reference/current/joining-queries.html 两种类型的查询 嵌套查询 has_child和has_parent 其中,has_child返回包含特定查询字
阅读全文
posted @
2018-12-06 18:07
一天不进步,就是退步
阅读(2229)
推荐(0) 编辑
lucene源码分析(8)MergeScheduler
摘要:1.使用IndexWriter.java 2.定义MergeScheduler 3.MergeTrigger 出发merge的事件 4.ConcurrentMergeScheduler默认实现 5.MergeThread执行merge任务 merge过程 6.merge结束
阅读全文
posted @
2018-12-03 16:17
一天不进步,就是退步
阅读(267)
推荐(0) 编辑
lucene源码分析(7)Analyzer分析
摘要:1.Analyzer的使用 Analyzer使用在IndexWriter的构造方法 2.Analyzer的定义 可以看出,Analyzer针对不同的语言给出了不同的方式 其中,common抽象出所有Analyzer类,如下图所示
阅读全文
posted @
2018-12-03 15:46
一天不进步,就是退步
阅读(430)
推荐(0) 编辑
elasticSearch6源码分析(2)模块化管理
摘要:elasticsearch里面的组件基本都是用Guice的Injector进行注入与获取实例方式进行模块化管理。 在node的构造方法中 涉及的主要模块 上图的文本如下; ClusterModule GatewayAllocator AllocationService ClusterService
阅读全文
posted @
2018-11-29 17:24
一天不进步,就是退步
阅读(351)
推荐(0) 编辑
elasticSearch6源码分析(1)启动过程
摘要:1.找到bin目录,下面有elasticSearch的sh文件,查看执行过程 可以看到主类的名称为: 2.主类Elasticsearch 找到main方法,父类 2.启动类Bootstrap init方法 找到红色的启动方法start,进去看,是Node的start方法 3.节点启动Node sta
阅读全文
posted @
2018-11-29 15:25
一天不进步,就是退步
阅读(552)
推荐(0) 编辑
lucene源码分析(6)Query分析
摘要:查询的入口 可以看到,查询时需要传入Query接口的实现,其实现主要有: 还有spanQuery跨度查询 太多了,需要一个个看
阅读全文
posted @
2018-11-29 10:14
一天不进步,就是退步
阅读(709)
推荐(0) 编辑
Lucene系列-facet--转
摘要:https://blog.csdn.net/whuqin/article/details/42524825 1.facet的直观认识 facet:面、切面、方面。个人理解就是维度,在满足query的前提下,观察结果在各维度上的分布(一个维度下各子类的数目)。 如jd上搜“手机”,得到4009个商品。
阅读全文
posted @
2018-11-22 15:44
一天不进步,就是退步
阅读(497)
推荐(0) 编辑
lucene源码分析(5)lucence-group
摘要:1. 普通查询的用法 org.apache.lucene.search.IndexSearcher 其中 Collector定义 Collector的层次结构 2 lucene-group 提供了分组查询GroupingSearch,对应相应的collector 3.实例: 几个参数说明: grou
阅读全文
posted @
2018-11-22 14:15
一天不进步,就是退步
阅读(399)
推荐(0) 编辑