设为首页 收藏本站
查看: 1011|回复: 0

[经验分享] Solr使用初探——Solr的安装环境与配置

[复制链接]

尚未签到

发表于 2015-7-18 09:04:18 | 显示全部楼层 |阅读模式
  Solr是一个apache名下很好用的开源索引、搜索工具,网上的资料虽多但很杂,笔者花了一天的时间对Solr进行了较为初步的研究,对Solr的基础应用做了一定的总结。文中涉及到的配置方法并不唯一,API的用法也未必规范,仅希望能够通过此文让大家对solr更快的入手。
  
  一、Solr的安装环境与配置:
  
  1、  下载所需软件,安装配置Tomcat
  首先下载Tomcat与Solr,Tomcat可在各软件网站下载得到,Solr下载地址如下:
  http://mirror.bjtu.edu.cn/apache/lucene/solr/1.4.1/apache-solr-1.4.1.zip
  Tomcat按照安装流程进行即可,本文中Tomcat安装在X盘下,设置监听端口时改为8983(默认为8080),当然也可以在配置文件中修改,路径为X:\Tomcat 6.0\conf\server.xml,并添加编码格式为UTF-8以使得Solr能够正确解析url递送的查询要求。
  


  2、构建文件目录
  将apache-solr- 1.4.1.zip解压到某文件夹,目录如下图所示:
  

  在X盘下建立目录solr,将解压文件中的example文件夹下的内容全部拷贝到solr中,此时solr文件夹下会有一个名为webapps的空文件夹,将解压文件夹中的dist文件夹下的apache-solr-1.4.1.war文件拷贝到webapps中,重命名为solr.war。
  
  3、配置Solr工作环境
  在Tomcat中注册Solr。在X:\Tomcat 6.0\conf\Catalina\localhost下(目录不存在则手工建)创建配置文件solr.xml,内容为:
  
  
  
  
  
  docBase为网页发布内容,Environment为solr的配置环境。
  
  4、配置索引数据格式
  在X:\solr\solr\conf当中有schema.xml文件,可以配置索引数据格式。scheme.xml虽然较长但注释丰富,而且大部分内容属于数据类型的定义,我们只需要在 、标签之间添加自己的数据即可。当然,我们也可以自定义类型。
  以样例中的第一个字段为例:
  
  类型为string,需要索引,需要存储,是一个不可为空的字段,简单易懂。
  
  其他配置如下:
  
  id
  配置整个索引中唯一的键值,用来区分不同的索引条目。
  
  text
  默认的搜索字段,如果在搜索时不特殊指定字段,则会搜索这一字段。
  
  
  搜索时对同一字段不同关键字的处理方法,根据项目需要选择“与”或者“或”。
  
  
  
  …………
  默认搜索字段较多时可以这样设置,如果只有一个字段待搜索,那么只需在defaultSearchField中配置。
  
  5、运行solr
  启动Tomcat,访问http://localhost:8983/solr/admin/ 即可见到主页,从上至下共三部分,配置状态、查询与帮助链接。
  http://localhost:8983/solr/admin/analysis.jsp 页面可以考察分词器的工作情况;
  http://localhost:8983/solr/admin/form.jsp 页面可以模拟搜索请求构建请求url。
  在solr配置完毕后第一次启动Tomcat时,Tomcat中会出现很多新的文件及文件夹。在Tomcat下会出现一个solr文件夹,那里用来存放索引;在Tomcat的webapps文件夹下也会出先一个solr文件夹,存放web工程;在Tomcat的logs文件夹下会出下catalina开头的日志文件,我们可以查找solr的载入异常以及索引与查询的url记录。
  
  6、添加索引
  在Tomcat与Solr开启的情况下,我们可以添加索引。进入X:\solr\exampledocs文件夹我们可以看到很多xml文件,以及post.jar文件,这里就是用来储存xml格式的待索引文件的地方。打开solr.xml我们可以看到:
  
  
  
  SOLR1000
  Solr, the Enterprise Search Server
  Apache Software Foundation
  …………
  2006-01-17T00:00:00.000Z
  
  
  
  add标签表明这是要添加一个索引(其他标签参考solr的文档或者solr wiki),各个字段均有数据,请注意最后一行date类型的数据,与java中的不同。
  
  那么怎样能够将这个xml传送到solr进行索引呢,这就要用到post.jar。开启命令行,进入post.jar所在文件夹,运行:
  
  java -Durl=http://localhost:8983/solr/update -Dcommit=yes -jar post.jar *.xml
  
  程序运行成功索引便被加入。添加索引还可以通过solr提供的java接口solrj编程实现,在下面我们会讲到。
  索引添加成功之后便可以通过上面提到的solr网页接口进行搜索测试。
  
  7、添加中文分词
  笔者使用的是IKAnalyzer的最新版本IKAnalyzer3.2.5Stable.jar,对Solr提供了较好的支持,可以在各软件网站或CSDN较容易的搜索到。使用时将IKAnalyzer3.2.5Stable.ja放置在X:\Tomcat 6.0\webapps\solr\WEB-INF\lib文件夹下。
  由于Solr默认选用的是lucene相应版本自带的分词器,所以要修改配置才能转换为IKAnalyzer。同样是修改X:\solr\solr\conf下的schema.xml文件,修改部分用红色标示出:
  
  
  
  
  …………
  
  
  
  …………
  
  
  
  分词器均为IKAnalyzer自带的支持solr的IKTokenizerFactory,在索引时不按照最大匹配进行分词,而在搜索时按照最大匹配进行分词。
  IKAnalyzer也支持用户自定义词典。首先在X:\Tomcat 6.0\webapps\solr\WEB-INF\下建立classes文件夹,在classes文件夹中新建IKAnalyzer.cfg.xml文件,内容为:
  
  
  
  
  IK Analyzer 扩展配置
  /mydict.dic
  /mystopword.dic
  
  
  mydict.dic为自定义分词词典,mystopword.dic为自定义停词词典,dic文件应当被保存为UTF-8格式,首行为空行,每个词占一行。dic文件的存放位置也是classes目录。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-87863-1-1.html 上篇帖子: solr的schema.xml配置属性解释 下篇帖子: Apache Pig和Solr问题笔记(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表