您的位置:首页 > 其它

SolrColud5.2 Windows单机伪分布式部署+创建索引+搜索+测试数据

2016-01-11 17:33 411 查看
SolrColud 伪分布式部署

创建 collections

配置IK分词器,用于中文搜索

测试数据准备

批量创建索引

搜索测试

1、 SolrColud 伪分布式部署

按照我这个文档一步一步操作即可配置成功,SolrColud集群配置教程

2、创建 collections

按照上面的教程配置好之后,就可以创建 collections了,网上相关的文档很多,我这里给一个最简单的创建例子,

http://localhost:8983/solr/admin/collections?action=CREATE&name=yourCollectionName&numShards=3&replicationFactor=3

name:将被创建的集合的名字
numShards:集合创建时需要创建逻辑碎片的个数
replicationFactor:每个文档副本数。replicationFactor(复制因子)为 3 意思是每个逻辑碎片将有 3 份副本,还有其他的很多参数,可以自己查看相关文档


创建成功之后,应该可以看到下面这样的界面:



3、配置IK分词器,用于中文搜索

由于IK官方的IK Analyzer 2012FF_hf1.zip 只支持到4版本的Solr,5版本的Solr配置官方的这个IK会报抽象方法错误(
java.lang.AbstractMethodError
),所以如果用的solr是5版本的,请使用这个IK:IK-Analyzer5.0

如何配置:

1、将上面的压缩包解压之后,将
src
目录下的
IKAnalyzer.cfg.xml、stopword.dic
复制到
solr_home_*\server\solr\WEB-INF\classes\
目录下,如果没有classes则自己创建一个,每个
solr_home
都需要复制一份。

2、将压缩包里面的
IKAnalyzer-5.0.jar
复制到
solr_home_*\server\solr\WEB-INF\lib\
目录下,同样每个
solr_home
都需要复制一份。

3、找到
cloud-conf\schema.xml
,增加iK相关的配置,首先增加fieldtype:

<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>


然后在需要的字段使用即可:

<field name="my_name" type="text_ik" indexed="true" stored="true" multiValued="false" />


最后进行测试,访问
solrColud
http://localhost:8983/solr
效果如下图:




4、测试数据准备

好了,到现在为止,简单的配置都已经完成,是不是迫不及待的找些数据来测试一番,我使用八爪鱼爬了一些
segmentfault
的帖子数据,有1.1W条的样子,需要的可以直接下载:1.1W条测试数据,字段有:
标题、URL、正文、关注、收藏、浏览、回答数、用户、头像


5、批量创建索引

数据准备好了,现在可以开始创建索引了,可以直接在solr控制台上面导入数据,也可以使用solrj调用接口操作,考虑到以后是需要和程序整合在一块的,我使用solrj进行导入,可以下载我的Maven工程,运行
com.solrcloud.SolrMain
里面的
Main
方法即可,记得要修改测试数据文件的路径,还需要修改
com.solrcloud.SolrCloudServer
中47行的默认
collection
为你自己在上面第二步创建的时写的名字,同时修改43~45行的
zookeeper
节点的地址和端口为你自己的。(注:如果用我提供的测试数据,则需要在
schema.xml
中定义好相应的字段,否则将会报错,可以把我的
schema.xml
直接覆盖你原有的,这个文件放在工程的跟目录下
SolrTest\schema.xml
).

6、搜索测试

将第五步提到的工程下载下来,导入到工作空间,部署到tomcat,启动即可进行测试,已经实现了搜索、自动完成、分页搜索 、高亮显示关键词等功能,效果图如下:







自己用来简单测试的项目,不足之处欢迎指正。再贴一次工程下载路径:solr简单测试工程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: