借鉴:https://blog.csdn.net/ailian_f/article/details/89407754 感谢ailian_f大大
#直接启动solr
./solr start -force
1.搭建环境
一、创建一个空的文件夹,为了方便管理tomcat、solr以及solr的数据源管理;
二、安装tomcat、solr,并创建一个空的文件夹solrHome
三、把solr安装包中的server→solr-webApp→webApp下的文件拷贝一份到tomcat→webApp下创建的solr文件夹里。
#进入到tomcat的webapp
cd /home/apache-tomcat-8.5.39/webapps
#创建solr文件夹
mkdir solr
#进入solr
cd /home/apache-tomcat-8.5.39/webapps/solr
#拷贝/home/solr-8.0.0/server/solr-webapp/webapp 中所有的文件及文件夹到当前文件夹
cp -r /home/solr-8.0.0/server/solr-webapp/webapp .
四、把server下相应的jar拷贝到tomcat→webApp→solr→WEB_INF→lib文件夹里(jar比较多,这里我就不上图了)
cd /home/apache-tomcat-8.5.39/webapps/solr/WEB-INF/lib
# 拷贝 /home/solr-8.0.0/server/solr-webapp/webapp/WEB-INF/lib/*中所有的jar包
cp -r /home/solr-8.0.0/server/solr-webapp/webapp/WEB-INF/lib/*.jar .
cp -r /home/solr-8.0.0/server/solr-webapp/webapp/WEB-INF/lib/ext/*.jar .
五、配置tomcat→webApp→solr→WEB_INF下的web.xml
1、添加配置(指定solr数据源<即solr启动solr.xml的目录>的位置):
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/home/solrHome/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
2、注释一下配置(目的是防止tomcat 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>
-->
六、把solr安装包中的server→resources文件下的配置文件拷贝到tomcat→webApp→solr→WEB_INF→classes文件夹下(如果没有classes文件夹,请创建
cd /home/apache-tomcat-8.5.39/webapps/solr/WEB-INF
#不存在classes创建
mkdir classes
cd classes
#拷贝/home/solr-8.0.0/server/resources/文件夹下所有的东西 到当前目录
cp -r /home/solr-8.0.0/server/resources/* .
#需要分别修改以log4j2开头的两个配置文件,需要把所有${sys:solr.log.dir}修改为自己的指定的真是路
#径。
#就是指定一个文件夹存放log
七、把solr→server下的所有文件拷贝到solrHome文件夹里
cd /home/solrHome
cp -r /home/solr-8.0.0/server/* .
八、启动tomcat,访问 http://hostname:8080/solr/index.html验证是否配置成功。
2.创建一个搜索核心
一、拷贝 /home/solr-8.0.0/server/solr/configsets/sample_techproducts_configs/conf/文件夹下的solrconfig.xml到
/home/apache-tomcat-8.5.39/webapps/solr/WEB-INF/classes目录
cd /home/apache-tomcat-8.5.39/webapps/solr/WEB-INF/classes
#
cp -r /home/solr-8.0.0/server/solr/configsets/sample_techproducts_configs/conf/solrconfig.xml .
二、拷贝 /home/solr-8.0.0/server/solr/configsets/sample_techproducts_configs/conf/文件夹下的elevate.xml到
/home/solrHome/solr/new_core/data目录
cd /home/solrHome/solr/new_core/data
cp /home/solr-8.0.0/server/solr/configsets/sample_techproducts_configs/conf/elevate.xml .
三、拷贝/home/solr-8.0.0/server/solr/configsets/sample_techproducts_configs/conf下的managed-schema并且重命名weischema.xml到 /home/apache-tomcat-8.5.39/webapps/solr/WEB-INF/classes目录
cd /home/apache-tomcat-8.5.39/webapps/solr/WEB-INF/classes
cp /home/solr-8.0.0/server/solr/configsets/sample_techproducts_configs/conf/managed-schema .
mv managed-schema schema.xml
四、拷贝配置文件.txt
cd /home/apache-tomcat-8.5.39/webapps/solr/WEB-INF/classes
cp /home/solr-8.0.0/server/solr/configsets/sample_techproducts_configs/conf/*.txt .
mkdir lang
cp /home/solr-8.0.0/server/solr/configsets/sample_techproducts_configs/conf/lang/*.txt .
五、添加核心
3.配置数据库
一、在/home/apache-tomcat-8.5.39/webapps/solr/WEB-INF/classes目录中新建一个data-config.xml文件
插入:
<?xml version="1.0" encoding="utf-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/solr"
user="root"
password="" />
<document>
<entity name="product" query="SELECT pid,name,price FROM product">
<field column="pid" name="id" />
<field column="name" name="product_name" />
<field column="price " name="product_price " />
</entity>
</document>
</dataConfig>