本文只是记录下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 即可访问。
不出意外,左下角显示的是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文件夹下会生成新的文件。
执行以上步骤,完成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.dic
、IKAnalyzer.cfg.xml
、stopword.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可以设置分词效果的选项,实现不同的分词效果,这里不多叙述。