高版本的sorl 可以在linux 下 与 windows下使用命令启动,也可以配置tomcat运行,至于那种比较好我也不清楚,没找到介绍.
(1) .把 solr-webapp下webapp底下所有文件部署到 tomcat 下webapps文件夹下
(2). 把solr-7-7.1 --> service ---> lib 底下的所有jar 放入 tomcat 项目部署位置的WEB-INF/lib下 ,
(3) .把 solr-7-7.1 --> service ---> resources 下底下所有文件部署到 tomcat 下webapps\solr\WEB-INF\classes文件夹下
在classes下修改log4j.xml文件,配置你的log文件存放位置,
(4) 配置 web.xml
注释一段代码,防止本地请求 403 问题
<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>
插入配置 solrhome 位置代码
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>D:\ProgramFiles\BianCheng\apache-tomcat8.5-solr\solrhome(配置你自己的solrhome绝对位置)</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
(5) 将solr-7.7.1 下contrib 和 dist 文件夹 放入你设置的 solrhome文件夹下面
(6) 创建第一个core, 现在网站已经是可以运行的了,但是第一个在网站上 创建 core 普遍是会报错的,(未知原因,我是找不到)可以使用命令行
把solr-7.7解压到某个位置,进入bin目录在这个位置启动 cmd, 使用命令 windows 下使用 solr.cmd start
如果你启动报错也是不影响我们接下来操作,创建core 命令: solr.cmd create -c corename
它会把core 创建在解压目录下的server 下的 solr
把创建好的 core 拷贝到你的solrhome 文件夹下面,如果想要改名称,修改core.properties 文件 和 文件夹名称.
(7) 导入数据库数据
创建文件data-config.xml
<?xml version="1.0" encoding="UTF-8"?> <dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/数据库名?charactorEncoding=utf-8" user="用户名" password="密码" /> <document> <entity name="表名" query="查询语句" pk="id"> <field column="表字段名" name="对应solr字段名`" /> </entity> </document> </dataConfig>
修改managed-schema
<!-- 开启中文分词 -->
<!-- 需要把对应的jar 放入 WEB-INF/lib 下 -->
<fieldType name="text_ik" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType> <field name="text_ik" type="text_ik" indexed="true" stored="true" multiValued="false" />
<!-- 设置数据库查询的字段 并且设置类型 -->
<field name="hotelName" type="text_ik" indexed="true" stored="true"/>
修改 solrconfig.xml文件,把 lib标签引入jar 设置为绝对路径
<lib dir="D:\ProgramFiles\BianCheng\apache-tomcat8.5-solr\solrhome\contrib\extraction\lib" regex=".*\.jar" /> <lib dir="D:\ProgramFiles\BianCheng\apache-tomcat8.5-solr\solrhome\dist\" regex="solr-cell-\d.*\.jar" /> <lib dir="D:\ProgramFiles\BianCheng\apache-tomcat8.5-solr\solrhome\contrib\clustering\lib\" regex=".*\.jar" /> <lib dir="D:\ProgramFiles\BianCheng\apache-tomcat8.5-solr\solrhome\dist\" regex="solr-clustering-\d.*\.jar" /> <lib dir="D:\ProgramFiles\BianCheng\apache-tomcat8.5-solr\solrhome\contrib\langid\lib\" regex=".*\.jar" /> <lib dir="D:\ProgramFiles\BianCheng\apache-tomcat8.5-solr\solrhome\dist\" regex="solr-langid-\d.*\.jar" /> <lib dir="D:\ProgramFiles\BianCheng\apache-tomcat8.5-solr\solrhome\contrib\velocity\lib" regex=".*\.jar" /> <lib dir="D:\ProgramFiles\BianCheng\apache-tomcat8.5-solr\solrhome\dist\" regex="solr-velocity-\d.*\.jar" />
在最后,config 标签前面添加
<!-- 配置批量导入处理器 --> <admin> <defaultQuery>*:*</defaultQuery> </admin> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml(配置的数据连接文件)</str> </lst> </requestHandler>
原文:https://www.cnblogs.com/aizm/p/10913334.html