solr 7.0 搭建 maven 集成,基于tomcat 搜索引擎 部署

title: solr 7.0 maven 集成,引擎搭建

author: Eric liu

tags: [solr,引擎,搜索] categories:

  • solr
  • 搜索

项目背景:

最近工作用到solr做搜索,觉得挺有趣,自己创建一套引擎,也方便研究。
看网上基本都是手动配置的,拷贝jar包,没有maven集成的,有集成solr版本也很老。
所以先自己与maven 集成了一下。
之后 可能会有一些 定制化的功能添加到这个项目中。如自定义分词器,自定义评分等。
复制代码

solr使用: 本项目只是引擎,关于solr的使用,我放在另一个项目中, 另一个项目主要用来 使用solr,和一些 自定义的solrUtils,拼音, 业务场景下的solr 条件拼接,搜索,文章feed,suggest等多中功能的具体实现和说明 附带,测试数据。

github 地址

https://github.com/Eric-ly/solr_engine
复制代码

一,前期配置/说明

1.下载tomcat 8,在bin中添加 工程中的setenv.sh ,自定义 tomcat的启动参数

    export SOLR_HOME="$CATALINA_HOME/webapps/lsearch/WEB-INF/solr_home"
    export SOLR_LOG="$CATALINA_HOME/logs/"
    export TOMCAT_USER="tomcat"
    export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=$SOLR_HOME -Dsolr.solr.log.dir=$SOLR_LOG -Dbootstrap_conf=true -DhostContext=lsearch"

配置solr.home 和solr.log,这样就不需要在web.xml中写死了。


2.修改classes中的log4j.properties 中的solr.log ,这样在tomcat 启动参数 就可以设置solr log了

    solr.log=${catalina.base}/logs

3.与单机版solr不同,不需要在web.xml中打开 env标签配置 solr home,在tomcat的启动参数中设置solr home就可以

4.集成了 ik分词器,将ik的jar包 放在了WEB-INF的lib中,lib同级配置了ik的配置文件

5.solr的jar包 在maven的pom中进行了配置。不需要像单机中的copy jar包。
复制代码

二,使用说明

1.mvn clean install 打包,打成的war包 放到tomcat的webapps下 ,增加setenv.sh 文件,执行bin下的脚本。

./startup.sh
http://localhost:8081/lsearch/index.html
复制代码

2.idea配置tomcat,deployment 中deploy Artifact war 包,启动tomcat后 访问 url可以直接访问。

http://localhost:8081/lsearch/index.html

三,测试数据

四,遇到的坑

1.solr.home 需要绝对路径写死,不灵活不太好,多次查询之后,修改tomcat的启动参数

-Dsolr.solr.home=$SOLR_HOME
复制代码

2.solr.log. permisson问题

log4j.properties 中的solr.log的目录没有对应,可以写死绝对路径,这里在tomcat的启动参数中增加
    export SOLR_LOG="$CATALINA_HOME/logs/"
	-Dsolr.solr.log.dir=$SOLR_LOG 
复制代码

3.tomcat 启动参数的测试

(1)jps -v 查看jvm的参数
(2)tomcat的bin文件下,新建setenv.sh 里面设置jvm参数,之后用startup.sh 启动
复制代码
  1. 404错误
solr 各种会遇到404的问题,注意查看solr.log , catalina.out ,localhost.xxx.log 中的错误
(1)严重: Exception starting filter SolrRequestFilter    java.lang.NoClassDefFoundError: com/codahale/metrics/MetricSet
	解决:缺少metrics 等jar包
	
(2)web.xml 中的 <security-constraint> 注掉
(3)
复制代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值