# ik-analyzer-solr
ik-analyzer for solr 7.x-8.x
<!-- Badges section here. -->
[![GitHub version](https://img.shields.io/maven-central/v/com.github.magese/ik-analyzer.svg?style=flat-square)](https://search.maven.org/search?q=g:com.github.magese%20AND%20a:ik-analyzer&core=gav)
[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/magese/ik-analyzer-solr/releases)
[![Crates.io](https://img.shields.io/crates/l/rustc-serialize.svg)](./LICENSE)
[![Build Status](https://travis-ci.org/magese/ik-analyzer-solr.svg?branch=master)](https://travis-ci.org/magese/ik-analyzer-solr)
[![HitCount](http://hits.dwyl.io/magese/ik-analyzer-solr.svg)](http://hits.dwyl.io/magese/ik-analyzer-solr)
[![GitHub forks](https://img.shields.io/github/forks/magese/ik-analyzer-solr.svg?style=social&label=Fork)](https://github.com/magese/ik-analyzer-solr/network/members)
[![GitHub stars](https://img.shields.io/github/stars/magese/ik-analyzer-solr.svg?style=social&label=Star)](https://github.com/magese/ik-analyzer-solr/stargazers)
<!-- /Badges section end. -->
## 简介
#### 适配最新版本solr 7&8;
#### 扩展IK原有词库:
| 分词工具 | 词库中词的数量 | 最后更新时间 |
| :------: | :------: | :------: |
| ik | 27.5万 | 2012年 |
| mmseg | 15.7万 | 2017年 |
| word | 64.2万 | 2014年 |
| jieba | 58.4万 | 2012年 |
| jcesg | 16.6万 | 2018年 |
| sougou词库 | 115.2万 | 2019年 |
#### 将以上词库进行整理后约187.1万条词汇;
#### 添加动态加载词典表功能,在不需要重启solr服务的情况下加载新增的词典。
* IKAnalyzer的原作者为林良益<linliangyi2007@gmail.com>,项目网站为<http://code.google.com/p/ik-analyzer>
* 该项目动态加载功能根据博主[@星火燎原智勇](http://www.cnblogs.com/liang1101/articles/6395016.html)的博客进行修改,其GITHUB地址为[@liang68](https://github.com/liang68)
## 使用说明
* jar包下载地址:[![GitHub version](https://img.shields.io/badge/version-8.3.0-519dd9.svg)](https://search.maven.org/remotecontent?filepath=com/github/magese/ik-analyzer/8.3.0/ik-analyzer-8.3.0.jar)
* 历史版本:[![GitHub version](https://img.shields.io/maven-central/v/com.github.magese/ik-analyzer.svg?style=flat-square)](https://search.maven.org/search?q=g:com.github.magese%20AND%20a:ik-analyzer&core=gav)
```console
<!-- Maven仓库地址 -->
<dependency>
<groupId>com.github.magese</groupId>
<artifactId>ik-analyzer</artifactId>
<version>8.3.0</version>
</dependency>
```
### Solr-Cloud
* [Solr-Cloud说明](./README-CLOUD.md)
### 单机版Solr
1. 将jar包放入Solr服务的`Jetty`或`Tomcat`的`webapp/WEB-INF/lib/`目录下;
2. 将`resources`目录下的5个配置文件放入solr服务的`Jetty`或`Tomcat`的`webapp/WEB-INF/classes/`目录下;
```console
① IKAnalyzer.cfg.xml
② ext.dic
③ stopword.dic
④ ik.conf
⑤ dynamicdic.txt
```
3. 配置Solr的`managed-schema`,添加`ik分词器`,示例如下;
```console
<!-- 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>
```
4. 启动Solr服务测试分词;
![analyzer](./img/analyzer.png)
5. `IKAnalyzer.cfg.xml`配置文件说明:
| 名称 | 类型 | 描述 | 默认 |
| :------: | :------: | :------: | :------: |
| use_main_dict | boolean | 是否使用默认主词典 | true |
| ext_dict | String | 扩展词典文件名称,多个用分号隔开 | ext.dic; |
| ext_stopwords | String | 停用词典文件名称,多个用分号隔开 | stopword.dic; |
6. `ik.conf`文件说明:
```console
files=dynamicdic.txt
lastupdate=0
```
1. `files`为动态词典列表,可以设置多个词典表,用逗号进行分隔,默认动态词典表为`dynamicdic.txt`;
2. `lastupdate`默认值为`0`,每次对动态词典表修改后请+1,不然不会将词典表中新的词语添加到内存中。<s>`lastupdate`采用的是`int`类型,不支持时间戳,如果使用时间戳的朋友可以把源码中的`int`改成`long`即可;</s> `2018-08-23` 已将源码中`lastUpdate`改为`long`类型,现可以用时间戳了。
7. `dynamicdic.txt` 为动态词典
在此文件配置的词语不需重启服务即可加载进内存中。
以`#`开头的词语视为注释,将不会加载到内存中。
## 更新说明
- `2019-11-12:`
- 升级lucene版本为`8.3.0`
- `IKAnalyzer.cfg.xml`增加配置项`use_main_dict`,用于配置是否启用默认主词典
- `2019-09-27:` 升级lucene版本为`8.2.0`
- `2019-07-11:` 升级lucene版本为`8.1.1`
- `2019-05-27:`
- 升级lucene版本为`8.1.0`
- 优化原词典部分重复词语
- 更新搜狗2019最新流行词汇词典,约20k词汇量
- `2019-05-15:` 升级lucene版本为`8.0.0`,并支持Solr8使用
- `2019-03-01:` 升级lucene版本为`7.7.1`
- `2019-02-15:` 升级lucene版本为`7.7.0`
- `2018-12-26:`
- 升级lucene版本为`7.6.0`
- 兼容solr-cloud,动态词典配置文件及动态词典可交由`zookeeper`进行管理
- 动态词典增加注释功能,以`#`开头的行将视为注释
- `2018-12-04:` 整理更新词库列表`magese.dic`
- `2018-10-10:` 升级lucene版本为`7.5.0`
- `2018-09-03:` 优化注释与输出信息,取消部分中文输出避免不同字符集乱码,现会打印被调用inform方法的hashcode
- `2018-08-23: `
- 完善了动态更新词库代码注释;
- 将ik.conf配置文件中的lastUpdate属性改为long类型,现已支持时间戳形式
- `2018-08-13:` 更新maven仓库地址
- `2018-08-01:` 移除默认的扩展词与停用词
- `2018-07-23:` 升级lucene版本为`7.4.0`
## 感谢 Thanks
[![IDEA](./img/jetbrains.svg)](https://www.jetbrains.com/?from=ik-analyzer-solr)
[![forthebadge](https://forthebadge.com/images/badges/made-with-java.svg)](https://www.java.com)
## BUG & 疑问 & 其它
如果您在使用过程中遇到了BUG,或者有不清楚的地方,请挂ISSUE或者联系作者:<magese@live.cn>
如果您觉得该项目对您有帮助,请别忘记给这个项目一个`star`
没有合适的资源?快使用搜索试试~ 我知道了~
ik-analyzer-solr-master
共49个文件
java:24个
png:7个
dic:5个
需积分: 9 0 下载量 179 浏览量
2022-09-08
11:23:35
上传
评论
收藏 18.76MB ZIP 举报
温馨提示
ik-analyzer-solr-master(适用solr 7.x/8.x)
资源详情
资源评论
资源推荐
收起资源包目录
ik-analyzer-solr-master.zip (49个子文件)
ik-analyzer-solr-master
.travis.yml 33B
pom.xml 6KB
img
conf.png 67KB
analyzer.png 38KB
dic.png 58KB
conf2.png 59KB
dic2.png 67KB
cloud-analyzer2.png 84KB
jetbrains.svg 5KB
cloud-analyzer.png 93KB
README-CLOUD.md 3KB
.github
ISSUE_TEMPLATE
bug_report.md 834B
LICENSE 11KB
CONTRIBUTING.md 1B
src
main
resources
ik.conf 63B
stopword.dic 0B
ext.dic 0B
dict
quantifier.dic 1KB
magese.dic 20.23MB
main2012.dic 2.65MB
dynamicdic.txt 0B
IKAnalyzer.cfg.xml 500B
java
org
wltea
analyzer
core
ISegmenter.java 1KB
Lexeme.java 6KB
CharacterUtil.java 3KB
QuickSortSet.java 4KB
AnalyzeContext.java 12KB
IKArbitrator.java 5KB
CN_QuantifierSegmenter.java 7KB
LetterSegmenter.java 10KB
CJKSegmenter.java 4KB
IKSegmenter.java 5KB
LexemePath.java 7KB
dic
DictSegment.java 10KB
Dictionary.java 11KB
Hit.java 3KB
cfg
DefaultConfig.java 6KB
Configuration.java 3KB
sample
LuceneIndexAndSearchDemo.java 5KB
IKAnalzyerDemo.java 3KB
query
IKQueryExpressionParser.java 25KB
SWMCQueryBuilder.java 5KB
lucene
IKAnalyzer.java 2KB
IKTokenizerFactory.java 6KB
UpdateThread.java 3KB
IKTokenizer.java 4KB
.gitignore 70B
README.md 6KB
ik-analyzer-8.3.0.jar 9.24MB
共 49 条
- 1
我的搬砖日常
- 粉丝: 4163
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 由 Top10 开发和使用的惯用 Scala Redis 客户端 这是一项正在进行的工作,虽然在生产中使用,但应将其视为在生产中
- SwiftUI - SceanAppDelegate
- SwiftUI - AppDelegate
- Cetus是由C语言开发的关系型数据库MySQL的中间件,主要提供了一个全面的数据库访问代理功能
- 5152单片机proteus仿真和源码用定时器T0的中断实现渴望主题曲的播放
- 数据库垂直分区,业务逻辑层 配合数据库中间件实现水平分区和垂直分区
- 5152单片机proteus仿真和源码用定时器T0的中断控制1位LED闪烁
- 这是用于在 Akka 集群中复制数据的库的早期预览 它是一个复制的内存数据存储,支持低延迟和高可用性 要求
- 基于ketama算法和eredis项目的redis erlang驱动,主要以一致性hash的方式存储数据,做到key的分布式存储
- 2024五一杯B题要点和难点建模解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0