solr7.2.1环境搭建和配置ik中文分词器

安装环境:Jdk 1.8、 windows 10

安装包准备:

solr 各种版本集合下载:http://archive.apache.org/dist/lucene/solr/

tomcat下载(apache-tomcat-8.5.27-windows-x64.zip):https://tomcat.apache.org/download-80.cgi

下载ik分词器:IK Analyzer 2012FF_hf1.zip,这里这个版本已经不能使用,ik-analyzer官网:https://code.google.com/p/ik-analyzer/

这个网站不翻墙是访问不了的,可以去下面这个网站下载:https://www.developerfusion.com/project/41221/ikanalyzer/

IK分词器2012年以后就没有更新过,其所依赖的lucene相关组件的版本为4.X,而solr7.2下面的lucene版本为7.2,会导致分词功能不能正常使用;

解决办法:需要下载以下两个分词jar包solr-analyzer-ik-5.1.0.jar  ik-analyzer-solr5-5.x.jar。

下载地址:http://files.cnblogs.com/files/wander1129/ikanalyzer-solr6.5.zip

1、搭建solr环境

1 解压下载的solr-7.2.1压缩包,将解压后的solr-7.2.1文件夹下server\solr-webapp\webapp文件夹拷贝到tomcat安装目录下的webapps文件夹中,并重命名为solr。如下图:

2 创建一个solr_home的文件夹作为solr的安装目录,如:C:\ProgramFilesTwo\solr_home

3 将解压后的solr-7.2.1文件夹下server\lib\ext内的所有jar包、server\lib内以metrics开头的所有jar包,以及gmetric4j-1.0.7.jar复制到tomcat安装目录下的webapps\solr\WEB-INF\lib下。

4 在tomcat安装目录下的webapps\solr\WEB-INF中,新建一个classes文件夹,将解压后的solr-7.2.1文件夹下server\resources内的log4j.properties文件拷贝到里面

5 拷贝solr-7.2.1文件夹下server\solr内的所有文件到solr_home的文件夹中(即solr的安装目录)

6在solr_home文件夹下新建一个logs文件夹。

7修改tomcat安装目录下bin文件夹中的catalina.bat,添加solr.log.dir系统变量, 指定solr日志记录存放地址(即上面创建的logs文件夹路径)。例如:

set "JAVA_OPTS=%JAVA_OPTS% -Dsolr.log.dir=C:\ProgramFilesTwo\solr_home\logs"

8.在solr_home文件夹下新建一个new_core文件夹,将解压后的solr-7.2.1文件夹下server\solr\configsets\_default下的conf文件夹拷贝到里面,然后修改conf文件夹里solrconfig.xml文件,如下:

改为:

9.修改tomcat安装目录下webapps\solr\WEB-INF内的web.xml文件:

添加内容:

注释内容:

10. 修改端口,默认是8080(看需要设置),修改在tomcat安装目录下conf文件夹内的server.xml文件:

11.查看solr, http://localhost:8888/solr/index.html#/

点击Core Admin菜单,如果没有Core,会弹出如下框,提示添加。

instanceDir:  solr安装目录下的new_core文件夹的路径

dataDir: solr安装目录下的new_core\data文件夹的路径

config: solr安装目录下的new_core\conf\solrconfig.xml文件的路径

schema: solr安装目录下的new_core\conf\managed-schema文件的路径

添加以后就可以选择使用了

到这里solr的环境就搭建好了,下面开始整合中文分词器;

2、整合分词器

1、使用.solr7.2.1自带的中文分词器

将解压后的solr-7.2.1\contrib\analysis-extras\lucene-libs下的lucene-analyzers-smartcn-7.2.1.jar 放到Tomcat8\webapps\solr\WEB-INF\lib下。

在Tomcat8\solr_h\solrhome\solr_core\conf找到managed-schema  添加已下代码

<fieldType name="text_ik_zd" class="solr.TextField" positionIncrementGap="100">
       <analyzer type="index">
         <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
        <analyzer type="query">
          <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
  </fieldType>

重新启动Tomcat8,就可以使用solr自带的分词器了

2、配置ik中文分词器(好处:IKAnalyzer支持屏蔽关键词、新词汇的配置)

解压IK Analyzer 2012FF_hf1压缩包:

ext.dic为扩展字典,改为mydict.dic 这个扩展词收录了搜狗词库

stopword.dic为停止词字典

IKAnalyzer.cfg.xml为配置文件

solr-analyzer-ik-5.1.0.jar  ik-analyzer-solr5-5.x.jar为分词jar包。

将IK分词器 JAR 包拷贝到C:\ProgramFilesTwo\apache-tomcat-8.5.27\webapps\solr\WEB-INF\lib下

将词典配置文件拷贝到 C:\ProgramFilesTwo\apache-tomcat-8.5.27\webapps\solr\WEB-INF\classes下

更改在C:\ProgramFilesTwo\solr_home\new_core\conf找到managed-schema配置文件,添加以下:

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

<analyzer type="index">

<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>

</analyzer>

<analyzer type="query">

<tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>

</analyzer>

</fieldType>

<field name="item_title" type="text_ik" indexed="true" stored="true"/>

<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>

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

<field name="item_image" type="string" indexed="false" stored="true" />

<field name="item_category_name" type="string" indexed="true" stored="true" />

<field name="item_desc" type="text_ik" indexed="true" stored="false" />

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>

<copyField source="item_title" dest="item_keywords"/>

<copyField source="item_sell_point" dest="item_keywords"/>

<copyField source="item_category_name" dest="item_keywords"/>

<copyField source="item_desc" dest="item_keywords"/>

重新启动Tomcat8.5.27,就可以使用ik的分词器了

参考博文:

http://blog.csdn.net/lingzhangjie/article/details/79114993

http://blog.csdn.net/m0_37044606/article/details/79155144

https://www.cnblogs.com/kehaocheng/p/8005532.html

转载于:https://www.cnblogs.com/mengjinluohua/p/8439546.html

Solr7.2.1环境搭建和配置ik中文分词器相关推荐

  1. 使用Docker快速安装部署ES和Kibana并配置IK中文分词器以及自定义分词拓展词库

    使用Docker快速安装部署ES和Kibana的前提:首先需要确保已经安装了Docker环境 如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker 有了Docker环境后, ...

  2. Elasticsearch配置ik中文分词器自定义词库

    1.IK配置文件 在config目录下: IKAnalyzer.cfg.xml:配置自定义词库 main.dic:分词器自带的词库,索引会按照里面的词创建 quantifier.dic:存放计量单位词 ...

  3. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十九)ES6.2.2 安装Ik中文分词器

    注: elasticsearch 版本6.2.2 1)集群模式,则每个节点都需要安装ik分词,安装插件完毕后需要重启服务,创建mapping前如果有机器未安装分词,则可能该索引可能为RED,需要删除后 ...

  4. python连接es_Elasticsearch --- 3. ik中文分词器, python操作es

    一.IK中文分词器 1.下载安装 2.测试 #显示结果 {"tokens": [ {"token" : "上海","start_o ...

  5. 分词器以及ik中文分词器

    文章目录 分词器以及ik中文分词器 概念 ik分词器的安装 环境准备 设置jdk环境变量 下载maven安装包并解压 设置path 验证maven是否安装成功 下载IK分词器并安装 使用IK分词器 查 ...

  6. 学习 ES 的笔记、全文检索、倒排索引、Lucene、ik中文分词器、Kibana使用Dev Tools

    文章目录 感悟 新接触的单词 知识点一:ES是什么? 知识点二:ES基本概念 知识点三:1.1 什么是全文检索和Lucene? 知识点四:1.2 什么是倒排索引,Lucene实现全文检索的流程是怎样? ...

  7. 玩转ES,一文教你掌握IK中文分词器

    前言 ES默认的分词器对中文分词并不友好,所以我们一般会安装中文分词插件,以便能更好的支持中文分词检索. 而ES的中文分词器中,最流行的必然是IK分词器. 一.IK分词器介绍 IK分词器在是一款基于词 ...

  8. Elasticsearch教程(28) text和keyword区别 term和match区别 ik中文分词器使用

    text和keyword区别 term和match区别 ik中文分词器使用 一.前言 二.之前相关的博客 三.造点测试数据 1. 创建一个index 2. 插入测试数据 四.做一份试卷 第1题:tit ...

  9. ES7 IK中文分词器

    IK中文分词器的安装 ES默认是没有IK中文分词器的,我们要将IK中文分词器作为一个插件安装到ES中,安装的步骤也很简单: 从GitHub上下载适合自己ES版本的IK中文分词器,地址如下:https: ...

最新文章

  1. 跟我学算法聚类(kmeans)
  2. 关于超链接的四个伪类的一个问题(顺序问题)
  3. oracle+system空间满了,oracle审计导致system表空间爆满的处理方法
  4. 李宏毅深度学习作业二
  5. ITK:从三个标量图像组成矢量
  6. java 对象复活_Java对象复活
  7. linux 虚拟 设备,Linux中的虚拟网络设备
  8. 关于js中replace()只能替换字符串中第一个对象的问题
  9. Application,Session,Cookie和ViewState等对象用法和区别
  10. 提升写作效率,让 Word 更好地为你所用
  11. python dict遍历_Python专题——详解enumerate与zip用法
  12. 机器人工程师学习计划(计算机相关专业学习计划)
  13. 笔记31 笨办法学python练习39可爱的词典
  14. 批处理清空文件夹内所有txt文件的内容
  15. html 页面文字不能复制粘贴,网页无法复制文字怎么办
  16. 用Excel制作甘特图并管理项目
  17. C#模拟IIS服务器(一)
  18. 程序员转行去做售前、咨询
  19. Photoshop入门学习
  20. 【Python脚本】harris调试时转换gray,Ix,Iy,resp等数据为png图片

热门文章

  1. 外呼机器人起名_智能外呼机器人十大厂商
  2. MySQL Hex函数使用详解
  3. CVE-2021-35464: ForgeRock AM远程代码执行漏洞
  4. ctfshow-WEB-web5
  5. HTTP协议工作原理(与HTTPS的区别)
  6. PC值=当前程序执行位置+8
  7. Leave the world behind,山巅雪莲的再次绽放
  8. 【git】Git 提示fatal: remote origin already exists 错误解决办法
  9. shuffle的过程分析
  10. CentOS 7系统升级备份恢复实验记录