新手Solr8与ik_analyzer_solr分词器的完整采坑搭建(单机版)

新手Solr8与ik_analyzer_solr分词器的完整采坑搭建(单机版)

服务安装并启动:

  1. 目前为止,最新版为solr 8.1,下载地址:http://lucene.apache.org/solr/downloads.html
  2. 解压上传至服务器目录:/opt/module/solr
  3. cd /opt/module/solr/bin
  4. 开启服务:./solr start  停止服务:./solr stop
  5. 访问页面:ip:8983/solr
  6. 页面上的dashboard可以查看相关配置:-Dsolr.solr.home=/opt/module/solr/server/solr  即为服务的家目录

新建core

  1. Core Admin

57ae6fea54265ee9579b0ba3e6bc3d2432c.jpg

Name:名字随意

InstanceDir 实例目录提前建好,比如:${Dsolr.solr.home }/collection

DataDir 数据目录,比如:data,会自动新建一个目录:${Dsolr.solr.home }/collection/data

    2. Config 和schema 两个xml文件都必须放在instanceDir下面,可按如下操作:

    a. 切换到solr家目录下:此时有如下目录

909df5107044914495d5994d06fe66ec2b6.jpg

    b. 将configsets 目录的下的conf 复制到collection中,cp configsets/sample_techproducts_configs/conf  conllection/

现在可以在页面中新建一个core了。建好如下:

79084273644e4070a76daa345b0f24d3844.jpg

 

配置ik-analyzer-solr中文分词器

  1. 下载最新版本ik-analyzer-solr ,地址:https://github.com/magese/ik-analyzer-solr

目前为止最新版本8.1.0,jar包和源码最好都下载。

<!-- Maven仓库地址 -->

<dependency>

    <groupId>com.github.magese</groupId>

    <artifactId>ik-analyzer</artifactId>

    <version>8.1.0</version>

</dependency>

    2. 下载的jar包为:ik-analyzer-8.1.0.jar 拷贝到/opt/module/solr/server/solr-webapp/webapp/WEB-INF/lib中。注意:solr-webapp与${Dsolr.solr.home }为同级目录。

    3. 将源码src下的resource中的五个文件拷贝到/opt/module/solr/server/solr-webapp/webapp/WEB-INF/classes/中。注意:classes目录需要新建,原本没有。

 IKAnalyzer.cfg.xml
② ext.dic
③ stopword.dic
④ ik.conf
⑤ dynamicdic.txt

4. 配置Solrmanaged-schema,添加ik分词器,特别注意,官方文档中给的示例如下,

e50f5390ed7cb539b1342d534e5156c5af1.jpg

特别踩坑,在将ik-analyzer-8.1.0和solr-8.1.1整合时,会报初始化错误以及参数错误:

3366a96949d06e58fe822b251ced9966a74.jpg

 

正确示例如下;

<!-- ik分词器 -->

<fieldType name="text_ik" class="solr.TextField">

  <analyzer type="index">

      <tokenizer class="solr.StandardTokenizerFactory" />

      <filter class="solr.LowerCaseFilterFactory"/>

  </analyzer>

  <analyzer type="query">

      <tokenizer class="solr.StandardTokenizerFactory" />

      <filter class="solr.LowerCaseFilterFactory"/>

  </analyzer>

</fieldType>

5. 最后,如果你配置自己的

<field name="item_price"  type="plong" indexed="true" stored="true"/>

其中,item_price为long型,则type="plong",而不是type="long",一般在Java类型前加个p就可以对应了,否则报如下错误:

75eb37cae732b07d7755a5cf945ee873717.jpg

6. 最后,终于可以测试了:

6a3dedaf6ff00bf5f480f2aa9dec0a3051d.jpg

 

转载于:https://my.oschina.net/woniuyi/blog/3072599

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值