手把手教你如何玩转Solr(包含项目实战)

论坛 期权论坛     
选择匿名的用户   2021-6-2 15:47   131   0
<p>大家可以关注我的微信公众号:Java菜鸟进阶之路</p>
<p>一:Solr简介<br>        Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。</p>
<p>     Solr是一个高性能,采用Java5开发,</p>
<p>Solr</p>
<p>基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎</p>
<p>二:Solr服务器的搭建<br> 步骤:</p>
<p>(1)在磁盘中创建一个文件目录,即认为该文件为Solr服务器的相关属性。</p>
<p>(2)在上述的文件目录中,复制一个Tomcat服务器(最好是纯净的,即webapps目录下不包含多余的项目)</p>
<p>(3)从lucene.apache.org官网或者其他资源网下载Solr资源(由于Solr目前更新都很频繁,差不多是两个月就有新版本,而且对于Solr4和Solr5之间存在着不同,所以这个根据需要下载版本吧。我用的是Solr4版本中的4.10.3版本)</p>
<p>(4)将下载的solr中,进入下图的目录,然后将war包拷贝到Tomcat中的webapps下面</p>
<p>(5)解压拷贝过去的war包,并将解压完成之后,将之前的war包进行删除,原因就是我们需要修改解压的内容,否则不删除,在部署之后又会覆盖,所以要进行删除处理。</p>
<p>(6)从下载好的solr中的下面的目录,将jar包拷贝到Tomcat下的solr中的lib目录</p>
<p>(7)创建一个Solr服务器的核心家文件夹,并将其与tomcat保持同级。</p>
<p>(8)修改tomcat目录webapps下的solr的web.xml文件内容,修改solr核心家的内容</p>
<p>(9)运行tomcat</p>
<p>(10)运行成功后,访问链接http://localhost:8080/solr     即可进入到solr服务器的首页。</p>
<p>三:Solr服务器配置中文分词器<br> 步骤:</p>
<p>(1)拷贝中文分词器IK分词包到Solr服务中的lib目录中</p>
<p>(2)在Solr中的WEB-INF下面创建classes文件目录,用于存放中文分词器的分词配置</p>
<p>ext.dic的内容,比如如下:</p>
<p>高富帅<br> 黑马程序员<br> 二维表<br> 这样的话,碰到这样的词就不会进行拆分了,所以,一些网络新词就可以在这里进行配置。</p>
<p>IKAnalyer.cfg.xml文件 </p>
<p>&lt;?xml version&#61;&#34;1.0&#34; encoding&#61;&#34;UTF-8&#34;?&gt;<br> &lt;!DOCTYPE properties SYSTEM &#34;http://java.sun.com/dtd/properties.dtd&#34;&gt;  <br> &lt;properties&gt;  <br>     &lt;comment&gt;IK Analyzer 扩展配置&lt;/comment&gt;<br>     &lt;!--用户可以在这里配置自己的扩展字典 --&gt;<br>     &lt;entry key&#61;&#34;ext_dict&#34;&gt;ext.dic;&lt;/entry&gt; <br>     <br>     &lt;!--用户可以在这里配置自己的扩展停止词字典--&gt;<br>     &lt;entry key&#61;&#34;ext_stopwords&#34;&gt;stopword.dic;&lt;/entry&gt; <br>     <br> &lt;/properties&gt;<br> stopwords.dic内容:</p>
<p>我<br> 是<br> 的<br> a<br> an<br> and<br> are<br> as<br>  <br> 这样的话,对于上面的字就不会进行显示处理了,因为这些都是没有意义的词汇。</p>
<p>(3)在核心solr家中,找到配置文件schema.xml,添加中文分词器的配置。</p>
<p>添加如下内容:</p>
<p>&lt;!--配置中文分词器--&gt;<br>     &lt;fieldType name&#61;&#34;text_ik&#34; class&#61;&#34;solr.TextField&#34;&gt;<br>         &lt;analyzer class&#61;&#34;org.wltea.analyzer.lucene.IKAnalyzer&#34;/&gt;<br>     &lt;/fieldType&gt;<br>     &lt;!--配置几个域,这几个就支持中文分词了,当然自己根据需求进行创建即可--&gt;<br>     &lt;field name&#61;&#34;title_ik&#34; type&#61;&#34;text_ik&#34; indexed&#61;&#34;true&#34; stored&#61;&#34;true&#34;/&gt;<br>     &lt;field name&#61;&#34;content_ik&#34; type&#61;&#34;text_ik&#34; indexed&#61;&#34;true&#34; stored&#61;&#34;false&#34; multiValued&#61;&#34;true&#34;/<br> (4)重启tomcat,进行测试是否配置完成。</p>
<p>(5)访问Solr主页,进行测试</p>
<p>四:配置solr服务器导入数据库数据<br> 步骤:</p>
<p>(1)导包</p>
<p>首先是需要在solr的核心库中添加一些导入数据的包,需要如下:</p>
<p>注意:因为在collection中,最初是没有lib这个文件目录的,所以需要自己创建一个lib目录,然后把相应的jar包添加进去。</p>
<p>(2)在collection中的config目录下的solrconfig.xml中添加数据导入处理器</p>
<p>&lt;requestHandler name&
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP