`
linliangyi2007
  • 浏览: 1014430 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

发布 IK Analyzer 3.2.8 for Lucene3.X

阅读更多
IK Analyzer 3.2.8版本修订
  • 1.优化了英文字符处理,支持如:C++ 等带符号单词输出
  • 2.简化了数词处理,使输出结果更符合用户观感
  • 3.改进了最大词长切分,使输出结果更符合用户观感
  • 4.性能优化,目前IK分词器的速度为约85万字/秒(1600K字节/S)
  • 5.新增IK简易查询表达式,简化用户使用


以下对新增的查询表达式做详细说明:

   IK3.2.8版本为简化用户对查询逻辑的处理,提供了基于表达式的搜索逻辑处理。它与Lucene自带表达式的不同之处,在于它采用了IKQueryParser对中文分词歧义处理的算法。相对Lucene QueryParser而言,用它生成的Query对象也许更能命中搜索结果。

表达式样例:
id='1231' && (title:'文档标题'|| content:'内容') – author='helloworld'

  • 1.表达式使用 属性名<->属性值 键值对的形式,属性值使用”’”单引号标识。
  • 2.在键值对中使用 “=”等号,表示对该属性的精确搜索(不分词),适用于对ID、编号、分类等精确值属性搜索;使用“: ”冒号表示对属性的模糊搜索(分词搜索),适用于文本内容的全文搜索。
  • 3.在使用“: ”时,连续的搜索关键字将解析为 AND 逻辑,如果关键字中带有空格,这解析为OR逻辑。如:title:'文档标题' 表示搜索title中同时包含“文档”AND“标题“的数据,title:'文档_标题' 表示搜索title中包含“文档”OR“标题“。(这个例子中,我们默认你使用的IK分词器能将”文档标题“切分为”文档“和”标题“两个词)
  • 4.表达式支持“&&”与 “||” 或“-”非的逻辑操作,以及“( )”括号优先级定义。注意“-”非逻辑不能单独使用,即 “– author='helloworld'” 是非法表达式。
  • 5.目前就是这么简单,暂不支持更复杂的搜索逻辑:).


下载地址:

IK分词器3.2.8发布包

IK分词器3.2.8源码包

PS:如果您使用的是Solr1.3或者v2.9之前的Lucene,请下载IK Analyzer3.1.6GA使用! IK Analyzer3.2.X仅支持Lucene3.0以上版本。

分词效果示例
IK Analyzer 3.2.8版本支持 细粒度切分 和 最大词长切分,以下是两种切分方式的演示样例。
文本原文1:
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始, IKAnalyzer已经推出了3个大版本。

最大词长分词结果:
引用
ikanalyzer | 是 | 一个 | 开源 | 的 | 基于 | java | 语言 | 开发 | 的 | 轻量级 | 的 | 中文 | 分词 | 工具包 | 从 | 2006 | 年  | 12 | 月 | 推出 | 1.0 | 版 | 开始 | ikanalyzer | 已经 | 推出 | 出了  |  3  |  个  |  大  |  版本

最细粒度分词结果:
引用
ikanalyzer | 是 | 一个 | 一 | 个 | 开源 | 的 | 基于 |  java  | 语言 | 开发 | 的 | 轻量级 | 量级 | 的 | 中文 | 分词 | 工具包 | 工具 | 从 | 2006 | 年  | 12 | 月 | 推出 | 1.0 | 版 | 开始 | ikanalyzer | 已经 | 推出 | 出了  |  3  |  个  |  大  |  版本


文本原文2:
作者博客:linliangyi2007.iteye.com   电子邮件:linliangyi2005@gmail.com

最大词长分词结果:
引用
作者 | 博客 | linliangyi2007.iteye.com | 电子邮件 | linliangyi2005@gmail.com

最细粒度分词结果:
引用
作者 | 博客 | linliangyi2007.iteye.com | linliangyi | 2007 | javaeye | com | 电子邮件 | linliangyi2005@gmail.com | linliangyi | 2005 | gmail | com


文本原文3
古田县城关六一四路四百零五号

最大词长分词结果:
引用
古田县 |  县城  |  城关 | 六一四  | 路 | 四百零五 | 号

最细粒度分词结果:
引用
古田县 | 古田 |  县城 |  城关 |  六一四 | 六一 | 四 | 路 | 四百零五 | 四 | 百 | 零 | 五 | 号


文本原文4
曙光天阔 I620r-G /A950r-F 夏普SH9020C

最大词长分词结果:
引用
曙光 | 天 | 阔 | i620r-g | a950r-f | 夏普 | sh9020c

最细粒度分词结果:
引用
曙光 | 天 | 阔 | i620r-g | i | 620 | r | g | a950r-f | a | 950 | r | f | 夏普 | sh9020c | sh | 9020 | c




分享到:
评论
44 楼 gujie890411 2012-06-06  
linliangyi2007 写道
gujie890411 写道
linliangyi2007 写道
gujie890411 写道
林前辈,你好!请教您一个问题!
我想要做中文检索的精确查询,比如

Document doc = new Document();
Field field = new Field("content","我们的中国客户是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc.add(field);

Document doc1 = new Document();
Field field1 = new Field("content","我们的外国客户和中国客户都是是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc1.add(field1);
输入关键词“我们的中国客户”,我希望的结果是只获得第一个doc的内容,即“我们的中国客户是很好的!”


建议使用数据库like匹配吧,你的要求根本不需要用lucene啊

林老师,你好,但是我要做的是全文检索呀,我不能将全文都放到数据库的,现在面临的难题是,我要实现先进行模糊检索,然后在结果中精确检索,费脑子啊!不知道林老师有没有好的指点。(其中在结果中检索我是用BooleanQuery实现的,英文的精确检索我用的是PhraseQuery,但是中文的精确检索(不分词的状态下我可以用WildCardQuery实现,但是如果不分词模糊检索又不行了)实现不了了,求指点!)


索引使用单字索引,StandardAnalyzer就好,搜索使用PhraseQuery就OK

ok,我试试,3q!
43 楼 linliangyi2007 2012-06-06  
gujie890411 写道
linliangyi2007 写道
gujie890411 写道
林前辈,你好!请教您一个问题!
我想要做中文检索的精确查询,比如

Document doc = new Document();
Field field = new Field("content","我们的中国客户是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc.add(field);

Document doc1 = new Document();
Field field1 = new Field("content","我们的外国客户和中国客户都是是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc1.add(field1);
输入关键词“我们的中国客户”,我希望的结果是只获得第一个doc的内容,即“我们的中国客户是很好的!”


建议使用数据库like匹配吧,你的要求根本不需要用lucene啊

林老师,你好,但是我要做的是全文检索呀,我不能将全文都放到数据库的,现在面临的难题是,我要实现先进行模糊检索,然后在结果中精确检索,费脑子啊!不知道林老师有没有好的指点。(其中在结果中检索我是用BooleanQuery实现的,英文的精确检索我用的是PhraseQuery,但是中文的精确检索(不分词的状态下我可以用WildCardQuery实现,但是如果不分词模糊检索又不行了)实现不了了,求指点!)


索引使用单字索引,StandardAnalyzer就好,搜索使用PhraseQuery就OK
42 楼 gujie890411 2012-06-04  
linliangyi2007 写道
gujie890411 写道
林前辈,你好!请教您一个问题!
我想要做中文检索的精确查询,比如

Document doc = new Document();
Field field = new Field("content","我们的中国客户是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc.add(field);

Document doc1 = new Document();
Field field1 = new Field("content","我们的外国客户和中国客户都是是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc1.add(field1);
输入关键词“我们的中国客户”,我希望的结果是只获得第一个doc的内容,即“我们的中国客户是很好的!”


建议使用数据库like匹配吧,你的要求根本不需要用lucene啊

林老师,你好,但是我要做的是全文检索呀,我不能将全文都放到数据库的,现在面临的难题是,我要实现先进行模糊检索,然后在结果中精确检索,费脑子啊!不知道林老师有没有好的指点。(其中在结果中检索我是用BooleanQuery实现的,英文的精确检索我用的是PhraseQuery,但是中文的精确检索(不分词的状态下我可以用WildCardQuery实现,但是如果不分词模糊检索又不行了)实现不了了,求指点!)
41 楼 linliangyi2007 2012-06-04  
gujie890411 写道
林前辈,你好!请教您一个问题!
我想要做中文检索的精确查询,比如

Document doc = new Document();
Field field = new Field("content","我们的中国客户是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc.add(field);

Document doc1 = new Document();
Field field1 = new Field("content","我们的外国客户和中国客户都是是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc1.add(field1);
输入关键词“我们的中国客户”,我希望的结果是只获得第一个doc的内容,即“我们的中国客户是很好的!”


建议使用数据库like匹配吧,你的要求根本不需要用lucene啊
40 楼 gujie890411 2012-06-03  
林前辈,你好!请教您一个问题!
我想要做中文检索的精确查询,比如

Document doc = new Document();
Field field = new Field("content","我们的中国客户是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc.add(field);

Document doc1 = new Document();
Field field1 = new Field("content","我们的外国客户和中国客户都是是很好的!",Field.Store.YES, Field.Index.ANALYZED); 
doc1.add(field1);
输入关键词“我们的中国客户”,我希望的结果是只获得第一个doc的内容,即“我们的中国客户是很好的!”
39 楼 eyeruby 2012-05-24  
解放军 分词有2个 解放 解放军,在highlighter的时候得到
<font color='red'>解放</font><font color='red'>解放军</font>
这是不是不太合理?
38 楼 eyeruby 2012-05-24  
使用IK3.2.8 + Lucene 3.0.3,

questions:
1.
lucene3.0.3  使用Field field = new Field("content", new FileReader(f),Field.TermVector.WITH_POSITIONS_OFFSETS);
content 字段不会被存储,然后使用targetDoc.get("content")得到的是null.
后面在高亮的时候,调用highlighter.getBestFragment(TokenStream, text)
时,text是把文件再读一遍吗?
2.
TokenStream ts = new IKAnalyzer(true).tokenStream(searchField,
new FileReader(path)); //得到tokenstream
3.
highlighter.getBestFragments(ts,str, maxNumFragmentsRequired,fragmentSeparator);
str=readFile(doc.get("path"));//这样得到的

发现 搜索单个关键词(解放军)如果搜索的关键词在文章的开头(index=0)就出现,而且文章中有多处,这样第2个关键词(解放军)出现的地方的offset不对, 如果在关键词不在index=0的位置,第2个关键词的offset就对了
37 楼 linliangyi2007 2011-11-23  
trh3037 写道
林老师,你好。我发现ik好像对中英文混合,或者数字中文混合,无法分词啊。

比如有一段话“用户从2010年10月11号开始,申请宽带4M升级到10M”
我才用外部词库,
List<String> strs = new ArrayList<String>();
        strs.add("用户");
        strs.add("98升级到109");
        strs.add("2010年10月11号");
        strs.add("开始");
        strs.add("申请宽带");
        strs.add("4M升级到10M");
        Dictionary.loadExtendWords(strs);

想要的结果是:用户|2010年10月11号|开始|申请宽带|4M升级到10M。

但是实际结果是:用户|2010|年|10|月|11|号|开始|申请宽带|4m|升级到|10m|

也就是说希望“4M升级到10M”是一起的。但是分词出来的,却变成:4M|升级到|10M。

就是说在分词的时候,能否以外部词库为主?。


词库只是放中文词语的,对E文字符是无效的。
36 楼 trh3037 2011-11-18  
林老师,你好。我发现ik好像对中英文混合,或者数字中文混合,无法分词啊。

比如有一段话“用户从2010年10月11号开始,申请宽带4M升级到10M”
我才用外部词库,
List<String> strs = new ArrayList<String>();
        strs.add("用户");
        strs.add("98升级到109");
        strs.add("2010年10月11号");
        strs.add("开始");
        strs.add("申请宽带");
        strs.add("4M升级到10M");
        Dictionary.loadExtendWords(strs);

想要的结果是:用户|2010年10月11号|开始|申请宽带|4M升级到10M。

但是实际结果是:用户|2010|年|10|月|11|号|开始|申请宽带|4m|升级到|10m|

也就是说希望“4M升级到10M”是一起的。但是分词出来的,却变成:4M|升级到|10M。

就是说在分词的时候,能否以外部词库为主?。
35 楼 ynyee 2011-11-07  
大哥好,配置solr中使用IK的分词,但在ADMIN界面中测试的时候还是一个字一个字分出来的。
是不是下面的配置有问题:
    <fieldType name="text_general" class="solr.TextField">
	  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer" />
      <analyzer type="index">
        <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory"
		isMaxWordLength="false"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
        <!-- in this example, we will only use synonyms at query time
        <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
        -->
        <filter class="solr.LowerCaseFilterFactory"/>
		<filter class="solr.PorterStemFilterFactory"/>
		<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
      <analyzer type="query">
       <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory"
		isMaxWordLength="true"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <filter class="solr.LowerCaseFilterFactory"/>
		<filter class="solr.PorterStemFilterFactory"/>
		<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
    </fieldType>
34 楼 gongzhe85 2011-11-01  
谢谢林老师,另外还有个IKParser的困惑请教

我有如下查询语句,在域text中查询:
('铁路'||'火车')&&('事故'||'出轨')
('铁路' '火车')&&('事故' '出轨')
表达的逻辑您大概能明白,就是两组词一组是实体另一组是动作,无论出现哪种组合都符合查询条件。

但是我把这两个条件的query打印出来,如下
+text:铁路 +text:火车 +text:事故 +text:出轨
text:铁路 (+text:火车 +text:事故) text:出轨
两个好象都不太符合我本来的意思。

请林老师指导下,IK中||和空格的区别还有括号的作用,另外我那种逻辑IK是否支持,谢谢啦。
33 楼 linliangyi2007 2011-10-31  
gongzhe85 写道
林老师,您好!

我想请教一下自定义词典的路径配置问题。我的程序不是web程序,而是用jar包直接在控制台运行,我把IKAnalyzer.cfg.xml和dic文件都放在资源路径下,打包时就一起打进jar包了,dic文件就不能修改了。IKAnalyzer.cfg.xml里使用绝对路径找dic也不行,请问有什么好办法吗。


跟是不是web应用无关,放在类的根目录下就好
32 楼 gongzhe85 2011-10-30  
林老师,您好!

我想请教一下自定义词典的路径配置问题。我的程序不是web程序,而是用jar包直接在控制台运行,我把IKAnalyzer.cfg.xml和dic文件都放在资源路径下,打包时就一起打进jar包了,dic文件就不能修改了。IKAnalyzer.cfg.xml里使用绝对路径找dic也不行,请问有什么好办法吗。
31 楼 elvishehai 2011-10-24  
请问下.词库的管理上,有什么好的介意了,如先查询词库中是否存在,没有的话直接添加到词库中.
30 楼 confident_f 2011-10-08  
林老师,你好。我想请教您一个问题,在一个项目里我想使用两个不同的ik分词器,简单来说,就是希望不同的ik分词器对应不同的xml配置文件,这样它们对应的扩展字典是不同的,分词的效果也就是不同的了。不知道这样能否实现,如何实现?多谢!
29 楼 privatemiao 2011-09-13  
你好!
我刚开始研究 搜索引擎。

现在正在研究 solr
使用 ik 后
还能在  schema.xml 中配置 支持 dataimport 的数据库中的字段吗?

谢谢
28 楼 mohenglyf 2011-09-07  
林老师,你好,为什么我对"古田县城关六一四路四百零五号"分词,结果跟你的结果不一样呢?
最大词长结果:
1古田县
2县城
3城关
4六一四
5六一
6四
7路
8四百零五
9四
10百
11零
12五
13号
最细粒度结果:
1古田县
2古田
3县城
4城关
5六一四
6六一
7四
8路
9四百零五
10四
11百
12零
13五
14号
27 楼 whht195444 2011-07-30  
林老师:
    刚才我看了一下,mydict.dic格式刚开始的时候我故意修改为GBK,结果没有分词成功,然后我将IKAnalyzer3.2.8 source里面的mydict.dic文件COPY到我的项目中,然后添加词组“固定床”,执行后,效果一样,对于“固定术”,程序分成了:固定 术 二个词组。
    三个文件的目录我是放在src根目录下的,有办法测试,词库读取是否成功的方法吗?
26 楼 linliangyi2007 2011-07-30  
whht195444 写道
林老师,我在扩展词库的时候为不成功呢?现先我的配置方法与内容粘在下面:
IK版本 3.2.8
  现在IKAnalyzer.cfg.xml中进行配置内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<properties>  
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典     -->
	<entry key="ext_dict">/mydict.dic;</entry> 
	
	<!--用户可以在这里配置自己的扩展停止词字典
	<entry key="ext_stopwords">/ext_stopword.dic</entry> 
	-->
</properties>


mydict.dic内容如下:

ab
固定术
复位术
cde



分词代码如下:
   List<String> list = new ArrayList<String>();
        StringReader input = new StringReader("固定术复位术abcde");
        IKSegmentation ikSeg = new IKSegmentation(input, true);
        Lexeme lexeme;
        try {
            while ((lexeme = ikSeg.next()) != null) {
                System.out.println(lexeme.getLexemeText());
                list.add(lexeme.getLexemeText());
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


想达到的效果是:固定术 复位术 aa cde四个词组
实际效果为:固定 术 复位 术 abcde 五个词组

mydict.dic、ext_stopword.dic、IKAnalyzer.cfg.xml放在同一目录下,进行DEBUG里面运行的,还没有进行部署,



1.从中文的分词效果看,你的词典没有被正确读取,请确定你的词典编码是UTF-8,以及词典放置在classes的根路径下。
2.词典负责中文词语切分,所有英文字符在词典中都是无效的。
25 楼 whht195444 2011-07-30  
林老师,我在扩展词库的时候为不成功呢?现先我的配置方法与内容粘在下面:
IK版本 3.2.8
  现在IKAnalyzer.cfg.xml中进行配置内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<properties>  
	<comment>IK Analyzer 扩展配置</comment>
	<!--用户可以在这里配置自己的扩展字典     -->
	<entry key="ext_dict">/mydict.dic;</entry> 
	
	<!--用户可以在这里配置自己的扩展停止词字典
	<entry key="ext_stopwords">/ext_stopword.dic</entry> 
	-->
</properties>


mydict.dic内容如下:

ab
固定术
复位术
cde



分词代码如下:
   List<String> list = new ArrayList<String>();
        StringReader input = new StringReader("固定术复位术abcde");
        IKSegmentation ikSeg = new IKSegmentation(input, true);
        Lexeme lexeme;
        try {
            while ((lexeme = ikSeg.next()) != null) {
                System.out.println(lexeme.getLexemeText());
                list.add(lexeme.getLexemeText());
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


想达到的效果是:固定术 复位术 aa cde四个词组
实际效果为:固定 术 复位 术 abcde 五个词组

mydict.dic、ext_stopword.dic、IKAnalyzer.cfg.xml放在同一目录下,进行DEBUG里面运行的,还没有进行部署,

相关推荐

    org.wltea.analyzer.lucene.IKAnalyzer jar

    solr的IK分词器JAR及配置文件 jar包和配置文件的放置位置不一样,详情可搜索 IK Analyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包。...org.wltea.analyzer.lucene.IKAnalyzer jar

    IKAnalyzer3.2.8.jar + doc(index.html)+demo 史上最全

    在压缩包内的 "IKAnalyzer3.2.8_jar_zip" 文件,可能是一个错误的文件名,因为正常情况下,IKAnalyzer的jar文件应该是直接命名为 "IKAnalyzer3.2.8.jar",而不会带有 "_jar_zip" 的后缀。这可能是上传时的误操作或者...

    IKAnalyzer3.2.8

    总之,IKAnalyzer3.2.8是一款强大的中文分词工具,它的出现极大地推动了中文信息处理技术的发展,为开发者提供了高效、便捷的中文分词解决方案。通过不断的优化和升级,IKAnalyzer将继续在中文信息处理领域发挥重要...

    IKAnalyzer3.2.8 源码

    通过深入研究IKAnalyzer3.2.8的源码,开发者可以了解中文分词的基本原理,学习如何优化分词算法,以及如何在实际项目中与搜索引擎框架集成,提升信息检索系统的效能。同时,源码阅读也是提升Java编程技能和理解软件...

    关于IKAnalyzer3.2.8扩展词典配置的个人心得和意见

    ### 关于IKAnalyzer3.2.8扩展词典配置的个人心得和意见 #### 一、IKAnalyzer简介 IKAnalyzer是一款高性能的基于Java语言的中文分词组件,它被广泛应用于搜索引擎、内容管理系统以及各类需要进行中文文本处理的应用...

    IKAnalyzer-3.2.8.jar

    IK Analyzer 3.2.8特性 采用了特有的“正吐迭代最细粒度切分算法“,支持细粒度和最大词长两种切分模式;具有83万字/秒(1600KB/S)的高速处理能力。 采用了多子处理器分析模式,支持:英文字母、数字、中文词汇等...

    IK Analyzer实现Java lucene中文分词相关资源架包

    IK Analyzer是基于lucene实现的分词开源框架 需要在项目中引入: IKAnalyzer.cfg.xml IKAnalyzer2012.jar lucene-core-4.3.0.jar stopword.dic

    最新Solr环境搭建与IKAnalyzer3分词整合.doc

    IKAnalyzer 的下载地址为:http://ik-analyzer.googlecode.com/files/IKAnalyzer3.2.8%20bin.zip。我们可以将其解压到 /usr/local/ 目录下,然后将其添加到 Solr 的配置文件中。 六、中文分词配置 在 Solr 的配置...

    IKAnalyzer中文分词器V3.2.8使用手册

    IKAnalyzer3.2.8版本支持两种不同的分词方式:细粒度切分和最大词长切分。以下是一些具体的例子: - **文本原文1**:“IKAnalyzer是一个开源的,基于java诧言开发的轻量级的中文分词工具包。从2006年12月推出1.0版...

    IKAnalyzer.Solr

    3. IKAnalyzer3.2.8_bin.zip:这是版本号为3.2.8的二进制包,"bin"通常包含了可执行文件和其他运行所需文件,适合直接部署使用。 在使用这些IKAnalyzer版本时,你需要根据你的Solr版本和实际需求选择合适的版本进行...

    IK3.2.8原理及源码分析(原创)

    #### 一、IKAnalyzer3.2.8系统架构 IKAnalyzer3.2.8是一款基于Java语言编写的开源分词组件,广泛应用于搜索引擎、文本处理等领域。它能够高效地对中文文本进行分词处理,并支持自定义词典扩展等功能。本文档旨在...

    Apache Lucene全文检索和IKAnalyzer分词工具类

    说明:依赖jar包:lucene-core-2.3.2.jar、IKAnalyzer3.2.8.jar。 一、LuceneUtil 工具类代码: package com.zcm.lucene; import java.io.File; import java.io.IOException; import java.io.StringReader; import...

    实验报告(利用Nutch和IKanalyzer构造中文分词搜索引擎)

    尝试使用Nutch 0.9和IKAnalyzer 3.1.6GA组合,但由于版本兼容性问题导致失败,因此改用Nutch 1.2和IKAnalyzer 3.2.8,并将Tomcat升级到6.0.35版本。 在Nutch 1.2中集成IKAnalyzer,需要修改NutchAnalysis.jj文件,...

    lucene最新版本3.3的基本功能用法(IK分词是3.2.8)

    2. 集成IK分词器:在Lucene中集成IK,首先需要将IKAnalyzer的jar包添加到项目的类路径中。然后,在创建Analyzer时,使用IKAnalyzer类替换默认的Analyzer,这样在索引和搜索过程中就会使用IK进行分词。 三、使用步骤...

    Lucene使用

    IKAnalyzer分词 2012版不支持,采用3.2.8版 在使用2012版时异常:ClassNotFoundException: org.apache.lucene.analysis.tokenattributes.CharTermAttribute 庖丁分词 使用 paoding-analysis-2.0.4-beta.zip 版时...

    IKAnalyzer使用不同版本中文分词的切词方式实现相同功能效果

    为了解决这个问题,我们转向了IKAnalyzer 3.2.8版本,并与Lucene 3.1.0版本搭配使用。在新的`analysisByIK3Point2`方法中,虽然基本步骤相似,但需要注意的是,与Lucene 2.x版本相比,部分接口名称和类型有所变化,...

    全文检索所用jar包3.6版本

    IKAnalyzer3.2.8.jar lucene-analyzers-3.5.0.jar lucene-core-3.6.1.jar lucene-highlighter-3.5.0.jar lucene-memory-3.5.0.jar

    IK中文分词器详细介绍

    自2006年首次发布以来,IKAnalyzer已经历了多个版本的迭代和完善,最新版本为3.2.8版。该工具包最初设计是为了与Lucene搜索引擎集成使用,但随着时间的发展,IKAnalyzer已经能够作为一个独立的Java分词组件使用。 #...

    solr3.5配置及应用

    - 将`IKAnalyzer3.2.8.jar`文件复制到`tomcat-7.0.14\webapps\solr\WEB-INF\lib`目录下。 - **配置Schema文件**: - 打开`solr`目录下的`schema.xml`文件,在`&lt;Types&gt;`部分添加自定义的`TextField`类型,并指定...

Global site tag (gtag.js) - Google Analytics