代码改变世界

随笔分类 -  搜索引擎

Solr4.8.0源码分析(12)之Lucene的索引文件(5)

2014-10-20 21:21 by 追风的蓝宝, 1108 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(12)之Lucene的索引文件(5)1. 存储域数据文件(.fdt和.fdx) Solr4.8.0里面使用的fdt和fdx的格式是lucene4.1的。为了提升压缩比,StoredFieldsFormat以16KB为单位对文档进行压缩,使用的压缩算法是LZ4,由于它... 阅读全文

Solr4.8.0源码分析(11)之Lucene的索引文件(4)

2014-09-24 00:12 by 追风的蓝宝, 1115 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(11)之Lucene的索引文件(4)1. .dvd和.dvm文件 .dvm是存放了DocValue域的元数据,比如DocValue偏移量。 .dvd则存放了DocValue的数据。 在Solr4.8.0中,dvd以及dvm用到的Lucene编码格式是Lucene45... 阅读全文

Solr4.8.0源码分析(10)之Lucene的索引文件(3)

2014-09-20 22:14 by 追风的蓝宝, 1129 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(10)之Lucene的索引文件(3)1. .si文件 .si文件存储了段的元数据,主要涉及SegmentInfoFormat.java和Segmentinfo.java这两个文件。由于本文介绍的Solr4.8.0,所以对应的是SegmentInfoFormat的子类Lu... 阅读全文

Solr4.8.0源码分析(9)之Lucene的索引文件(2)

2014-09-18 00:05 by 追风的蓝宝, 1640 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(9)之Lucene的索引文件(2)一.Segments_N文件 一个索引对应一个目录,索引文件都存放在目录里面。Solr的索引文件存放在Solr/Home下的core/data/index目录中,一个core对应一个索引。 Segments_N例举了索引所有有效的s... 阅读全文

Solr4.8.0源码分析(8)之Lucene的索引文件(1)

2014-09-17 23:47 by 追风的蓝宝, 1472 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(8)之Lucene的索引文件(1)题记:最近有幸看到觉先大神的Lucene的博客,感觉自己之前学习的以及工作的太为肤浅,所以决定先跟随觉先大神的博客学习下Lucene的原理。由于觉先大神主要介绍的是Lucene3.X系的,那我就根据源码以及结合觉先大神的来学习下4.X系的... 阅读全文

Solr4.8.0源码分析(7)之Solr SPI

2014-08-23 23:44 by 追风的蓝宝, 1520 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(7)之Solr SPI查看Solr源码时候会发现,每一个package都会由对应的resources. 如下图所示:一时对这玩意好奇了,看了文档以后才发现,这个services就是java SPI机制。首先介绍下java SPI机制,然后再结合Solr谈一下SPI。1. ... 阅读全文

Solr4.8.0源码分析(6)之非排序查询

2014-08-21 23:44 by 追风的蓝宝, 1212 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(6)之非排序查询上篇文章简单介绍了Solr的查询流程,本文开始将详细介绍下查询的细节。查询主要分为排序查询和非排序查询,由于两者走的是两个分支,所以本文先介绍下非排序的查询。查询的流程主要在SolrIndexSearch.getDocListC(QueryResult q... 阅读全文

Solr4.8.0源码分析(5)之查询流程分析总述

2014-08-20 23:46 by 追风的蓝宝, 3024 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(5)之查询流程分析总述前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理。所以solr的查询流程从SolrDispatchsFilter的dofilter开始。dofilter包含了对http的各个请求的操作。Solr的查询方式有很多... 阅读全文

Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建

2014-08-19 22:54 by 追风的蓝宝, 2431 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(4)之Eclipse Solr调试环境搭建由于公司里的Solr调试都是用远程jpda进行的,但是家里只有一台电脑所以不能jpda进行调试,这是因为jpda的端口冲突。所以只能在Eclipse 搭建Solr的环境,折腾了一小时终于完成了。1. JDPA远程调试搭建换完成So... 阅读全文

Solr4.8.0源码分析(3)之index的线程池管理

2014-08-15 22:42 by 追风的蓝宝, 1785 阅读, 收藏, 编辑
摘要: Solr4.8.0源码分析(3)之index的线程池管理Solr建索引时候是有最大的线程数限制的,它由solrconfig.xml的8控制的,该值等于8就是说Solr最多只能用8个线程来进行updatedocument。那么Solr建索引时候是怎么管理线程池的呢,主要是通过ThreadAffinit... 阅读全文

Solr4.8.0源码分析(2)之Solr的启动(一)

2014-08-13 23:57 by 追风的蓝宝, 1660 阅读, 收藏, 编辑
摘要: 上文写到Solr的启动过程是在SolrDispatchFilter的init()里实现,当Tomcat启动时候会自动调用init();Solr的启动主要在this.cores = createCoreContainer();语句中实现。/** *初始化,当tomcat启动时候开始初始化,其中主要调... 阅读全文

Solr4.8.0源码分析(1)之Solr的Servlet

2014-08-13 22:41 by 追风的蓝宝, 2992 阅读, 收藏, 编辑
摘要: Solr是作为一个Servlet运行在Tomcat里面的,可以查看Solr的web.xml。1.web.xml配置由web.xml可以看出,基本上所有Solr的操作都是在SolrDispatchFilter中实现的。当输入http://localhost:8080/solr/前缀的URL就会触发So... 阅读全文