solr7.7.1在window和linux系统上进行独立部署

1.solr服务的独立安装部署

  1. 对于高版本的solr来说,完全可以不依靠tomcat等web容器来进行部署,能够独立部署运行。
  2. window环境下solr服务的部署安装以及linux环境下solr服务的安装以及独立运行

2.solr在windows和linux下的安装部署

  1. 下载jdk和solrserver
    jdk的下载地址jdk下载
    solr server的下载地址Solr 7.7.1下载
    Linux下载solr-7.7.1.tgz,Windows下载solr-7.7.1.zip

  2. windows环境下解压solr-7.7.1.zip,目标位置自己定(不要放在有中文的目录下),我的目录为:E:\solr
    linux环境下需要解压solr-7.7.1.tgz,目标位置自定定,比如我本地的目录为:/opt/solr
    命令为:tar -zxvf solr-7.7.1.tgz -C /opt/solr

  3. 进入bin目录下,启动solr服务。
    windows下为直接在E:\solr\solr-7.7.1\bin目录下执行cmd,即可在该目录下打开cmd命令行,执行命令:solr.cmd start 即可启动solr服务
    linux使用cd命令切换到bin目录下,执行命令:./solr start

  4. 创建索引库(core)
    建议使用命令行的方式创建,不建议在web页面中创建,命令行创建的方式在windows下的命令为:solr create -c searchServer -d _default。在linux下的命令为:./solr create -c searchServer -d _default

3.添加ik中文分词器

1.此处需要下载ik分词器的jar和源码
jar包的下载地址:ik分词器jar包下载
源码下载地址:ik分词器源码下载
2.将下载好的ik-analyzer-7.7.1.jar包放入Solr服务的 webapp\WEB-INF\lib目录下,我的目录全路径是:E:\solr\solr-7.7.1\server\solr-webapp\webapp\WEB-INF\lib。
将下载好的ik-analyzer-solr7-master源码下的src\main\resources目录中的文件(如下),放入到webapp\WEB-INF\classes目录下(classes目录需要新建):主要包括以下几个文件
① IKAnalyzer.cfg.xml 扩展配置文件
② ext.dic 扩展词库
③ stopword.dic 停止词库
④ ik.conf 动态词库配置文件
⑤ dynamicdic.txt 动态词库
我本地的文正路径为:E:\solr\solr-7.7.1\server\solr-webapp\webapp\WEB-INF\classes。
3.配置TestCore的server\solr\searchServer\conf\managed-schema,添加IK分词器,示例如下:

<!-- 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>
上面配置的放置位置:放在<schema name="default-config" version="1.6">标签下。
`

4.配置索引字段(field)
Solr filed域的配置极为重要,filed的配置会影响到索引的创建和查询出的结果展示。

<!-- Solr Test search -->
<field name="title" type="text_ik" indexed="true" stored="true" required="true" multiValued="true" />
<field name="content" type="text_ik" indexed="true" stored="true" required="true" multiValued="true" />
<field name="filetype" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="uploadtime" type="string" indexed="false" stored="true" required="true" multiValued="false" />
<!-- 复制域,可以将多个Field复制到一个Field中,以便进行统一的检索,multiValued属性需要设置成true -->
<copyField source="content" dest="title" />
type:这个是之前定义的FieldType的名称,在这使用的ik分词
indexed:是否索引(true/false)
stored:是否存储(是否将索引结果存储到索引库)
multivalued:是否多值(一般配合copyField使用)

动态filed

在定义filed时,可能会随着业务主线作出变更,那么每次在managed-schema更改filed后,还需重启Solr
也是个麻烦事儿。那么在生产环境如此操作可能显得不是那么理想了。那么可以在变更时使用类似通配
符的方式建立动态filed,比如name="title"可以写成name="fl_*",这样只要以fl_开头的索引都可以被建
立。

因为solr服务的端口比较多,使用重启命令时会提示指定端口,因此,此处不使用solr的重启命令,而是采用先关闭solr服务,再启动solr服务的方式进行
停止solr服务的命令:
windows下:solr.cmd stop -all
linux下:./solr stop -all
启动solr服务的命令;
windows下:solr.cmd start
linux下:./solr start (root用户是加上参数 -force)
至此独立部署solr服务的方式就完成了。
此种方式部署的服务产生的索引文件的位置:
E:\solr\solr-7.7.1\server\solr\searchServer\data\index

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值