Solr-8.3.1部署到tomcat8中详细步骤

前置安装:
JDK8、Tomcat8

1.Solr简介
Solr是一个独立的企业级搜索应用服务器,它对外提供API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引(solr生成倒排索引,数据库生成的索引是二叉树索引,效率差距很大);也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。Solr是一个类似于Google或者Bing的全文检索引擎, Solr是与搜索引擎优化(SEO)相关联的。很多公司也使用elasticsearch作为搜索引擎。
Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr可以独立运行在Jetty、Tomcat等这些Servlet容器中。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。

2.Solr安装
1)、下载相关资源
① 下载solr压缩包:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.3.1/solr-8.3.1.tgz
也可以到官网去找其他版本 https://lucene.apache.org/solr/downloads.html
②下载 中文分词: http://search.maven.org/#search%7Cga%7C1%7Ccom.github.magese
在这里插入图片描述
2)、 安装
①解压刚刚下载好的solr-8.3.1.tgz ,解压后文件夹名称:solr-8.3.1;

②将 solr 压缩包中 solr-8.3.1\server\solr-webapp\文件夹下有个webapp文件夹,将之复制到Tomcat8\webapps\目录下,文件夹名改成solr;

③将solr-8.3.1/server/lib/ext目录下的所有jar包和复制粘贴到tomcat下的solr项目(即第二步操作的文件夹)的WEB-INF/lib目录下;

④solr-8.3.1\server\lib下metrics开头的5个jar包粘贴到tomcat\webapps\solr\WEB-INF\lib下
将solr-8.3.1\server\dist的solr-dataimporthandler-extras-8.3.1.jar和solr-jaegertracer-configurator-8.3.1.jar复制到tomcat\webapps\solr\WEB-INF\lib下。(注意:这里没复制,创建core可能会报Caused by: java.lang.ClassNotFoundException: DataImportHandler异常)

⑤在tomcat下的solr项目的WEB-INF下新建classes文件夹,然后把solr-8.3.1/server/resources下的jetty-logging.properties粘贴过去;

⑥将solr-8.3.1/server/solr 下所有文件复制到计算机某个目录下,如tomcat\solrHome(solr创建的core到时会存放在该目录下);

⑦ 打开Tomcat/webapps/solr/WEB-INF下的web.xml,找到如下配置内容(初始状态下该内容是被注释掉的),如果找不就在标签下添加:

    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <!-- 此处需要将D:/solr-home 修改为你自己的路径 -->
       <env-entry-value>D:/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> -->

⑧以上步骤完成后,启动Tomcat8,访问:http://localhost:8080/solr/index.html 界面如下,即安装成功。
在这里插入图片描述
3、创建core
①在tomcat\solrHome下创建test文件夹(名称与下图的instanceDir一致,建议下图中的name也和该文件夹名一致);
在这里插入图片描述
②在tomcat\solrHome\test这个core文件夹下创建data和conf文件夹;

③将solr-8.3.1\example\example-DIH\solr\solr\conf里所有文件和文件夹都copy到tomcat\solrHome\test\conf下;

④重启tomcat,访问http://localhost:8080/solr/index.html

4、中文分词器
①将下载好的ik-analyzer-8.3.0.jar 复制到 tomcat\webapps\solr\WEB-INF\lib 下
②修改tomcat\solrHome\test\conf下managed-schema文件,添加IK分词器,在文末的 上添加:

<fieldType name="text_ik" class="solr.TextField">
	<analyzer type="index" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    <analyzer type="query" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

③自定义solr的字段,在第②步后面添加:

	<!--条目ID-->
	<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
	<!--条目标题-->
	<field name="title" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
	<!--条目简介-->
	<field name="content" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
	<!--全文检索字段-->
	<field name="text" type="text_ik" indexed="true" stored="false" required="false" multiValued="true"/>
	
   
   <!--动态字段定义-->
   <!--<dynamicField name="*_i"  type="pint"    indexed="true"  stored="true"/> -->
   
   <uniqueKey>id</uniqueKey>

   <copyField source="title" dest="text"/>
   <copyField source="content" dest="text"/>

猜你喜欢

转载自blog.csdn.net/weixin_40584261/article/details/103592061