Solr相关知识点串讲

Solr是Apache Lucene的一个子项目。Lucene为全文搜索功能提供了完备的API,但它只作为一个API库存在,而不能直接用于搜索。因此,Solr基于Lucene构建了一个完整的搜索引擎,它可以为搜索引擎添加文档,对文档内容进行分析,并为用户提供搜索功能,在此基础上提供了一个扩展功能,如hit highline, suggetion等。

一、概述

(一)基础内容

1、Solr的版本号与Lucene的版本号保持一直,直到2014年7月,最新版本号为4.9.0。

2、Solr提供了一个example,可以简单快速的搭建起搜索环境。参见http://blog.csdn.net/jediael_lu/article/details/36419497

(二)配置文件

Solr的关键配置文件有以下三个:

solr.xml—Defines properties related to administration, logging, sharding, and SolrCloud

solrconfig.xml—Defines the main settings for a specific Solr core

schema.xml—Defines the structure of your index, including fields and field types

启动搜索引擎时,服务器按照以下顺序导入配置:

(1)从全局java系统属性中查看solr.solr.home,一般定义为:$SOLR_INSTALL/example/solr/。

(2)搜索上述目录中哪个子目录中包含有 core.properties,每个 core.properties对应一个core。

(3)从 core.properties中找出name属性,其值作为一个core。

(4)查找这个core下面的conf子目录,找到solrconfig.xml与schema.xml。

 
 

1、solr.xml

与整个搜索引擎相关的配置。

2、solrconfig.xml。

与某个core相关的主要配置,如定义updatehandler用于索引文件,requesthandler用于搜索内容等。

 
  3、schema.xml

定义了某类型文档的索引格式。

4、core.properties

记录了一个core的基本信息,除一个name为必备属性外,其余均为可选。

二、索引

索引,是将文档中的内容经过分析后,形成一个Term---Document的映射,并将其写入索引文件的过程,即说明哪些文档中包括某个词汇。

(一)向搜索引擎中提交文档的方法

1、命令行方式

使用example程序中提供的post.jar或者post.sh提供文档,它支持XML/JSON/CSV三种文件格式。

如java -jar post.jar *.xml

但本质上,它只是将solr提供的API进行了封装,最核心的类为SimplePostTool,此类调用了SolrJ的接口。

2、SolrJ

使用solr提供的API,进行文档的添加。

3、其它第三方工具

(1)Data Import Handler (DIH)

将外部数据导入Solr,如网站、关系型数据库等内容。

(2)ExtractingRequestHandler, aka Solr Cell

对Tika进行了封装,可用于导入富文本内容,如pdf,office等

(3)Nutch

抓取网页并将其导入solr。

三、分析

四、索引

五、扩展功能

Solr相关知识点串讲

时间: 2024-11-05 13:42:54

Solr相关知识点串讲的相关文章

【solr基础教程之中的一个】Solr相关知识点串讲

Solr是Apache Lucene的一个子项目.Lucene为全文搜索功能提供了完备的API.但它仅仅作为一个API库存在.而不能直接用于搜索. 因此,Solr基于Lucene构建了一个完整的搜索引擎.它能够为搜索引擎加入文档.对文档内容进行分析,并为用户提供搜索功能,在此基础上提供了一个扩展功能,如hit highline, suggetion等. 一.概述 (一)基础内容 1.Solr的版本与Lucene的版本保持一直,直到2014年7月,最新版本为4.9.0. 2.Solr提供了一个ex

Class 1 -- 知识点串讲

int类型的取值范围:-2147483648 - 2147483647,上界是2*109,超出会循环(变负号): 浮点数比大小: (int)a=1   (实际上)a=1.00001 b=1           b=0.99999 然而比大小时的精度不需要那么高,也就是说可以忽略极小的误差.这是我们需要设置eps(ε).一般是保留的位数+3:比如,保留三位小数,eps=1e-6:然而注意不要越界:double eps=1e-15,不能再大了. 根据数轴理解→→→→→→→→→→→→→↓ a==b f

串讲Apache OFBiz技术架构

从决定读ApacheOFBiz源码到现在不知不觉一年就过去了.这一年因为各种原因,导致源码读得断断续续.其实最大的问题还是因为无法深刻得理解里面的一些东西,导致热情骤减.直到最近,公司在开发的一个"应用快速开发平台"引发了我的一些思考,所以决定再把源码拿出来重新阅读.到最近对其架构设计近乎迷恋. 个人认为对于ApacheOFBiz的剖析可以分成三大块来进行:技术.业务.数据库设计.这三块个个都是非常顶尖的水准,每个方向深入进去都可以学到很多东西.之前只是对OFBiz各个部分的单独解析,

信管备考知识点精讲·计算机硬件基础之寻址方式

信息系统管理工程师是全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试.信息系统管理工程师考试要求考生掌握计算机系统.操作系统.数据库.计算机网络.信息化和信息系统等相关知识内容.信息系统管理工程师考试要求掌握的内容宽且多,备考期间哪些内容是需要重点掌握的呢?下面跟着希赛软考学院来学习信息系统管理工程师计算机硬件基础有关寻址方式要重点掌握的内容. 信息系统管理工程师备考知识点精讲之寻址方式 立即寻址:是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操

信管备考知识点精讲·计算机硬件基础之校验码

信息系统管理工程师是全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试.信息系统管理工程师考试要求考生掌握计算机系统.操作系统.数据库.计算机网络.信息化和信息系统等相关知识内容.信息系统管理工程师考试要求掌握的内容宽且多,备考期间哪些内容是需要重点掌握的呢?下面跟着希赛软考学院来学习信息系统管理工程师计算机硬件基础校验码部分要重点掌握的内容. 信息系统管理工程师备考知识点精讲之校验码 奇偶校验 是一种简单有效的校验方法通过在编码中增加一位校验位来使编码中的1的个数为

信管备考知识点精讲·计算机硬件基础之BIOS/CMOS

信息系统管理工程师是全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试.信息系统管理工程师考试要求考生掌握计算机系统.操作系统.数据库.计算机网络.信息化和信息系统等相关知识内容.信息系统管理工程师考试要求掌握的内容宽且多,备考期间哪些内容是需要重点掌握的呢?下面跟着希赛软考学院来学习信息系统管理工程师计算机硬件基础BIOS/CMOS部分要重点掌握的内容. 信息系统管理工程师备考知识点精讲之BIOS/CMOS CMOS:是主板上的一块可读写的RAM芯片:保存计算机基本

信管备考知识点精讲·计算机硬件基础之流水线

信息系统管理工程师是全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试.信息系统管理工程师考试要求考生掌握计算机系统.操作系统.数据库.计算机网络.信息化和信息系统等相关知识内容.信息系统管理工程师考试要求掌握的内容宽且多,备考期间哪些内容是需要重点掌握的呢?下面跟着希赛软考学院来学习信息系统管理工程师计算机硬件基础有关流水线要重点掌握的内容. 信息系统管理工程师备考知识点精讲之流水线  流水线:是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术.各种部件同

信管备考知识点精讲·计算机硬件基础之指令

信息系统管理工程师是全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试.信息系统管理工程师考试要求考生掌握计算机系统.操作系统.数据库.计算机网络.信息化和信息系统等相关知识内容.信息系统管理工程师考试要求掌握的内容宽且多,备考期间哪些内容是需要重点掌握的呢?下面跟着希赛软考学院来学习信息系统管理工程师计算机硬件基础指令部分要重点掌握的内容. 信息系统管理工程师备考知识点精讲之指令 1.指令相关概念 指令:一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指

信管备考知识点精讲·计算机硬件基础之输入输出

信息系统管理工程师是全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试.信息系统管理工程师考试要求考生掌握计算机系统.操作系统.数据库.计算机网络.信息化和信息系统等相关知识内容.信息系统管理工程师考试要求掌握的内容宽且多,备考期间哪些内容是需要重点掌握的呢?下面跟着希赛软考学院来学习信息系统管理工程师计算机硬件基础输入输出有关要重点掌握的内容. 信息系统管理工程师备考知识点精讲之输入输出 内存与接口地址独立编制方式:内存地址和接口地址完全独立的两个地址空间,它们是完