solr_4.5.0_03:什么是 core 以及如何创建 core

来源:互联网 发布:discuz cms 编辑:程序博客网 时间:2024/06/07 02:46

本章主要讲解什么是 Solr Core 以及如何通过网页或手动创建 Solr Core?

一、什么是 Solr Core?

solr 在 lucene 外边做了一层厚厚的封装,主要是为了简化二次开发,提供了一些成熟的解决方案。

solr 可以对多个 core 进行综合管理,并接受请求选择特定的一个或多个 core 执行相关任务。1)从文件结构的角度来看的话,主要包括一份索引(也可能还包括拼写检查索引)、一些配置文件。最主要的配置文件:solrconfig.xml 和 schema.xml。solrconfig.xml从整体上对 core 进行了配置,例如索引的存放路径,字段的最大字段的最大长度(maxFiedlLength)、写锁的超时时间(writeLockTimeout)、锁类型(lockType)、是否压缩索引(useCompoundFile)、内存索引缓冲区大小(ramBufferSizeMB)、合并因子(mergeFactor)、删除策略、自动提交策略、缓存设置等,它好比是一份组装机器人的说明书,里面详细描述了各个部件(handler)的参数。schema.xml主要是对索引的配置,例如分词器、字段名称+索引方法+存储方式+分词方式、唯一标识字段等,它好比是机器人学习的学习方法,机器人主动或被动接受特定数据,按照配置转化成索引,然后通过其部件(handler)展示出来,例如:search、moreLikeThis、spellCheck、factedSearcher等。

core从功能方面来说的话,主要是通过各种 handler 进行工作,这个在上文中也提及过

                  

常见的有:morelikeThis、search、 spellCheck、dataImport等。

那么solr怎么控制这些core进行工作呢?

例如我们输入:http://localhost:8080/solr3.5/core1/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on

这个是检索的目的是:检索core1下的所有内容,并返回前10条。

solr通过request获取requestPath,解析出对应的core名称(这里coreName=core1),然后获取core实例(找到相应的机器人)。

然后解析出select指令,明确告诉core是进行检索任务,任务的具体参数通过solrRequestParser进行解析。solrRequestParser可以看出是将url转换成core识别指令的“翻译器”。下面core就可以调用相应的handler执行任务了。

从外往里看,solr可以看成是:

solr Manager -> solr core -> handler -> component

二、如何通过 solr 页面创建 Core

1、在任意目录下,手动创建相应的文件夹以及配置文件(这里是在 D:\zhaoliang 文件夹下):

conf 文件夹下的文件:


2、文件目录创建完成后,启动 solr jetty 服务器,进入到 solr 管理页面,点击【Core Admin】→【Add Core】


添加完成后,结果如下


在test 和 data 文件夹下:

test


data


到这里我们就完成了 Core 的创建于添加(但是在这里要记住是 jetty 服务器,不是 tomcat,后面我会在总结 tomcat Core 的创建)。


感谢此篇博主的文章  跟益达学Solr5之玩转post.jar

0 0
原创粉丝点击