美文网首页
Solr和中文分词器

Solr和中文分词器

作者: dusty_giser | 来源:发表于2019-02-02 11:16 被阅读0次

  本文只是记录下Solr和IK中文分词器的安装配置。

安装Solr

  在Apache Solr官网下载相应版本的Sorl,解压。

目录结构
  新版本的Solr和老版本的不同,老版本中直接提供的是war文件,新版本则是提供了直接可运行的项目;其次需要导入项目中的的文件也有所不同的。下面我们介绍一下完整的配置和Solr项目的启动:
1、将solr-7.6.0/server/solr-webapp/下的webapp文件夹拷贝到Tomcat下的webapps目录下(并重命名为solr)。
2、将solr-7.6.0/server/lib/ext/下的所有Jar文件全部拷贝到Tomcat下webapps/solr/WEB-INF/lib目录下。
3、将solr-7.6.0/server/lib下所有metrics开头的jar文件全部拷贝到webapps/solr/WEB-INF/lib目录下。
4、将solr/7.6.0/server/solr文件夹复制到任意一个位置并重命名为solrhome,这里放到tomcat/webapps/sorl下。
5、修改tomcat/webapps/solr/WEB-INF/web.xml文件,指定solrhome所在的目录,即添加:
  <env-entry>
    <env-entry-name>solr/home</env-entry-name>
    <env-entry-value>E:\zhitong\search\tomcat\webapps\solr\solrhome</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>。
6、注释webapps/solr/WEB-INF/web.xml中<security-constraint></secirity-constraint>节点下的配置。
7、启动Tomcat,在浏览器中访问 http://localhost:8080/solr/index.html 即可访问。
注释掉constraint
主页面

  不出意外,左下角显示的是No cores,这和老版本的可能又有所差别,所以我们点击No cores,创建一个新的cores,那么会在我们指定的solrhome文件夹内产生一个new_core的空文件夹,并且页面会报错:Can't find resource 'solrconfig.xml' in xxx,表示的就是在这个新core下的conf文件夹下没有找到solrconfig.xml文件。
  我们需要将复制来的configsets/_default/conf这个文件夹(或者solr-7.6.0/server/solr/configsets/_default/conf文件夹)复制到solrhome/new_core/文件夹下。

8、重启Tomcat服务器,发现还是没有出现新的core,点击No cores那里点击add core,此时就会完整的创建一个新的
core,在solrhome/new_core文件夹下会生成新的文件。
新建new_core

  执行以上步骤,完成Solr的安装。

配置中文分析器

  之前没有用搜索引擎的时候,用的是WordSegment来进行中文分词的,效果也还行。用了搜索引擎之后,自然需要合适的中文分词器。默认的分词器效果如下:


默认分词效果
IK Analyzer正是其中的一种比较合适的中文分词器。

IK Analyzer在solr工程中的配置如下:

  • 1、下载ikanalyzer相关配置文件,因为Maven仓库中的ikanalyzer版本太老,solr5以上的版本都不支持,所以这里提供一个新版本: ikanalyzer-solr6.5.zip
  • 2、将下载的jar文件copy到webapps/solr/WEB-INF/lib文件夹下
  • 3、在webapps/solr/WEB-INF/下创建classes文件夹,将上面下载的文件夹中的ext.dicIKAnalyzer.cfg.xmlstopword.dic三个文件复制到webapps/solr/WEB-INF/classes/文件夹下。
  • 4、在solrhome/conf/目录下我们发现并没有schema.xml文件,这和老版本又有所不同,老版本直接生成好了schema.xml文件,在新版本中我们可以发现/conf文件夹中存在一个managed-schema文件,这个其实就是我们要的schema.xml文件。但是我们又不能直接用,具体原因参考 博文
  • 5、直接将managed-schema文件重命名为schema.xml。并在schema.xml的最后添加<fieldType>节点:
<fieldType name="text_ik" class="solr.TextField">
     <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
  • 6、重启Tomcat服务器,重新访问项目,点击new_core下的Schema功能,在select下拉框中输入text_ik如果出现刚创建的text_ik,说明IK中文分词器安装成功。
ik分词效果

  当然,ik可以设置分词效果的选项,实现不同的分词效果,这里不多叙述。

相关文章

网友评论

      本文标题:Solr和中文分词器

      本文链接:https://www.haomeiwen.com/subject/hnhssqtx.html