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

  1. SolrColud 伪分布式部署
  2. 创建 collections
  3. 配置IK分词器,用于中文搜索
  4. 测试数据准备
  5. 批量创建索引
  6. 搜索测试

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简单测试工程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值