solr小结

系统windows7 tomcat9.0.7

1、下载

官网下载地址中下载对应版本,我下载的是最新版solr-7.5.0.zip

解压后的目录结构:

 启动solr

 在浏览器中访问http://localhost:8983/solr/#/

 2、将solr部署到tomcat服务器,我使用的是tomcat9

1.将solr-7.5.0\server\solr-webapp下的webapp文件夹复制到apache-tomcat-9.0.7\webapps目录下,并重命名为solr(名称可以随意) 
2. 复制solr-7.5.0\server\lib\ext下的所有jar包到apache-tomcat-9.0.7\webapps\solr\WEB-INF\lib下(即刚刚复制并重命名为solr的文件夹下) 
3. 复制solr-7.5.0\server\lib下所有metrics-开头的jar包(一共有5个),gmetric4j-1.0.7.jar(这个jar包是后来在别的博客上看到的,我没有复制,也没有出错)到aapache-tomcat-9.0.7\webapps\solr\WEB-INF\lib下 
4. 复制solr-7.5.0\server\resources下的log4j2.xml文件到webserver\apache-tomcat-9.0.7\webapps\solr\WEB-INF\classes下(没有classes文件夹,需要手动新建) 
5. 复制solr-7.5.0\server\solr文件夹,到任意路径下(我这里放在了tomcat的根目录下),并重命名为solr_home(命名随意) 


6. 修改apache-tomcat-9.0.7\webapps\solr\WEB-INF下的web.xml文件

添加下面这段(之前的xml中没有这段):注意里面填写的是你新建的solr_home路径,因人而异

  <env-entry>
     <env-entry-name>solr/home</env-entry-name>
     <env-entry-value>E:/tomcat/apache-tomcat-9.0.7/solr_home</env-entry-value>
     <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>

并注释掉这段:

  <!-- Get rid of error message -->
<!--   <security-constraint>
    <web-resource-collection>
      <web-resource-name>Disable TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint/>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Enable everything but TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method-omission>TRACE</http-method-omission>
    </web-resource-collection>
  </security-constraint> -->

7、在solr_home目录下新建文件夹logs,用来存放运行日志

8、修改Tomcat\bin下的catalina.bat,增加solr.log.dir系统变量,指定solr日志记录存放地址,即刚刚创建的logs文件夹地址

9、新建核心,在solr_home文件夹下创建一个mycore(名字随意)文件夹,代表一个solr工程,solr_home下可以有多个solr工程,并复制solr_home/configsets/_default(它是从solr-7.5.0/server/solr/..复制过来的,见步骤5)下的confi文件夹到mycore下。并在mycore下创建空文件夹data和core.properties文件。

core.properties文件内容如下:(其实也可以不配置这个文件,让solr自动生成,后来在tomcat中部署后发现)

 name=mycore

最后mycore文件夹结构如下:

10、修改solr-home\mycore\conf\solrconfig.xml文件,如下

<!--   <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" /> -->
//上面是原来的,注释掉,添加你的solr安装目录,我这里的是E:/solr-7.5.0
  <lib dir="${solr.install.dir:E:/solr-7.5.0}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:E:/solr-7.5.0}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:E:/solr-7.5.0}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:E:/solr-7.5.0}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:E:/solr-7.5.0}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:E:/solr-7.5.0}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:E:/solr-7.5.0}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:E:/solr-7.5.0}/dist/" regex="solr-velocity-\d.*\.jar" />

11、启动Tomcat,在浏览器访问http://localhost:8080/solr/index.html

在本地启动tomcat: 双击startup.bat

 

在idea中启动tomcat后访问,要注意勾选上

 

 配置ikanalyzer中文分词器

solr自带有中文分词器,将solr-7.5.0/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-7.5.0.jar复制到tomcat/apache-tomcat-9.0.7/webapps/solr/WEB-INF/lib中,并修改mycore/conf/managed-schema文件,添加

<fieldType name="text_hmm_chinese" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
            <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
    </fieldType>

即可,但是自带的中文分词器扩展性不好,一般选用第三方的分词器ikanalyzer

先下载solr7版本的ik分词器,下载地址:http://search.maven.org/#search%7Cga%7C1%7Ccom.github.magese 
分词器GitHub源码地址:https://github.com/magese/ik-analyzer-solr7
将下载好的jar包放入tomcat/apache-tomcat-9.0.7/webapps/solr/WEB-INF/lib目录中,并修改mycore/conf/managed-schema文件,添加

<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
  <analyzer type="index">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
      <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
      <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

即可

测试中文分词

参考博文:

Solr 7.3.1 部署至 tomcat 服务器

基于Solr7.4版本搭建Solr服务器及使用案例

solr7.4 配置ikanalyzer和自带的中文分词器

http://tycoding.cn/2018/09/24/solr/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值