- 浏览: 1012494 次
- 性别:
- 来自: 福州
最新评论
-
guanxin2012:
大神,您好。非常感谢您贡献了IKExpression。我们现在 ...
分享开源表达式解析器IK-Expression2.0 -
qqgigas:
LZ,public boolean createUser(LD ...
Sun Directory Server/LDAP学习笔记(二)——API说明及代码样例 -
gao_shengxian:
Hibernate: update T_GX_TEST set ...
优雅Java编程 之 使用Hibernate存储Oracle Spatial对象 -
a78113534:
感谢大神,在安卓里面调用成功了。
发布IK Expression开源表达式解析器 V2.1.0 -
majiedota:
加油
来自开源支持者的第一笔捐赠
IKAnalyzer3.2.0稳定版已经发布,支持Lucene3.0和solr1.4
链接:http://www.iteye.com/topic/542987
V3.1.1GA -- V3.1.5GA 版本变更一览
- 1.添加“正向最大切分算法”。
- 2.完善IK Analyzer对solr1.3版本的集成支持
- 3.改进对文件名、邮件地址、英文数字混合字串的切分算法
- 4.新增对停止词(stopword)的自定义扩展
- 5.支持对JDK1.5的版本的集成
V3.1.6GA版本变更:
新增IK Analyzer对solr1.4版本的集成支持
1.新增org.wltea.analyzer.solr.IKTokenizerFactory14,支持solr1.4的TokenizerFactory接口配置
类org.wltea.analyzer.solr.IKTokenizerFactory14
说明:该类继承与solr1.4的BaseTokenizerFactory,是IK分词器对solr1.4项目TokenizerFactory接口的扩展实现。从版本V3.1.6起。
属性:isMaxWordLength。该属性决定分词器是否采用最大词语切分。
solr1.4配置样例
使用IKAnalyzer的配置
<schema name="example" version="1.1"> …… <fieldType name="text" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType> …… </schema>
使用IKTokenizerFactory14的配置
<fieldType name="text" class="solr.TextField" > <analyzer type="index"> <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory14" isMaxWordLength="false"/> …… </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory14" isMaxWordLength="true"/> …… </analyzer> </fieldType>
下载 :IKAnalyzer3.1.6GA完整包
更多详细请参看《IKAnalyzer中文分词器V3.1.6使用手册》
评论
33 楼
zdb_cn
2014-06-03
不能和数字一起分组,太伤了,啥时候能解决这个问题呢
32 楼
liuyu_it
2012-05-21
我有个问题想要请教下 SOLR 用DATAIMPORT索引数据库时我的字段是CLOB,为什么有的数据可以索引,有的就会报异常啊 ArrayIndexOutOfBoundsException,里面包含HTML标签
31 楼
hs798630734
2010-11-04
林老师,您好!我是一个刚接触lucene的java程序员,最近在用您的IKAnalyzer。遇到了些问题,希望您能帮我解答下:
Query query = IKQueryParser.parseMultiField(new String[]{"name","content"}, searchWord);//按文件名搜索
// 搜索相似度最高的5条记录
TopDocs topDocs= indexSearcher.search(query, 5);
报一个这样的异常:java.lang.ArrayIndexOutOfBoundsException: 5
就是搜索相似度最高的5条记录,记录数怎么大于5条了啊?由于刚接触,所以希望您能帮忙解答,谢谢您
Query query = IKQueryParser.parseMultiField(new String[]{"name","content"}, searchWord);//按文件名搜索
// 搜索相似度最高的5条记录
TopDocs topDocs= indexSearcher.search(query, 5);
报一个这样的异常:java.lang.ArrayIndexOutOfBoundsException: 5
就是搜索相似度最高的5条记录,记录数怎么大于5条了啊?由于刚接触,所以希望您能帮忙解答,谢谢您
30 楼
guava
2010-08-11
/**
* 向分词结果集添加词元
* @param lexeme
*/
public void addLexeme(Lexeme lexeme){
if(!Dictionary.isStopWord(segmentBuff , lexeme.getBegin() , lexeme.getLength())){
if(lexeme.getLength()>1 && lexeme.getLexemeType()==0){
this.lexemeSet.addLexeme(lexeme);
}
}
}
作了这样的修改 ok了 谢谢
* 向分词结果集添加词元
* @param lexeme
*/
public void addLexeme(Lexeme lexeme){
if(!Dictionary.isStopWord(segmentBuff , lexeme.getBegin() , lexeme.getLength())){
if(lexeme.getLength()>1 && lexeme.getLexemeType()==0){
this.lexemeSet.addLexeme(lexeme);
}
}
}
作了这样的修改 ok了 谢谢
29 楼
linliangyi2007
2010-08-10
guava 写道
在使用中有几个问题 请老师在百忙中回答一下
1 我在mydict.dic里面写了 “7仔”这个词,分词分不出来,是不是因为数字和文字混在一起就不行啊?(其他自定义的词是可以的)
2 如果我想分出来的词,都是长度为2以上的,怎么做呢?
3 我代码里写了
Analyzer analyzer = new IKAnalyzer();
this.iwriter = new IndexWriter(indexDir,analyzer ,true , IndexWriter.MaxFieldLength.UNLIMITED);
那怎么获取到 IKSegmentation ikSeg
因为我想根据切分出来的Lexeme的Type来判断是否只是TYPE_CJK_NORMAL
因为我只需要把这个类型的词进行索引
1 我在mydict.dic里面写了 “7仔”这个词,分词分不出来,是不是因为数字和文字混在一起就不行啊?(其他自定义的词是可以的)
2 如果我想分出来的词,都是长度为2以上的,怎么做呢?
3 我代码里写了
Analyzer analyzer = new IKAnalyzer();
this.iwriter = new IndexWriter(indexDir,analyzer ,true , IndexWriter.MaxFieldLength.UNLIMITED);
那怎么获取到 IKSegmentation ikSeg
因为我想根据切分出来的Lexeme的Type来判断是否只是TYPE_CJK_NORMAL
因为我只需要把这个类型的词进行索引
另外提醒你,如果可以尽可能升级Lucene到3.0并下载Ik Analyzer 3.2.3版本
28 楼
linliangyi2007
2010-08-10
guava 写道
在使用中有几个问题 请老师在百忙中回答一下
1 我在mydict.dic里面写了 “7仔”这个词,分词分不出来,是不是因为数字和文字混在一起就不行啊?(其他自定义的词是可以的)
2 如果我想分出来的词,都是长度为2以上的,怎么做呢?
3 我代码里写了
Analyzer analyzer = new IKAnalyzer();
this.iwriter = new IndexWriter(indexDir,analyzer ,true , IndexWriter.MaxFieldLength.UNLIMITED);
那怎么获取到 IKSegmentation ikSeg
因为我想根据切分出来的Lexeme的Type来判断是否只是TYPE_CJK_NORMAL
因为我只需要把这个类型的词进行索引
1 我在mydict.dic里面写了 “7仔”这个词,分词分不出来,是不是因为数字和文字混在一起就不行啊?(其他自定义的词是可以的)
2 如果我想分出来的词,都是长度为2以上的,怎么做呢?
3 我代码里写了
Analyzer analyzer = new IKAnalyzer();
this.iwriter = new IndexWriter(indexDir,analyzer ,true , IndexWriter.MaxFieldLength.UNLIMITED);
那怎么获取到 IKSegmentation ikSeg
因为我想根据切分出来的Lexeme的Type来判断是否只是TYPE_CJK_NORMAL
因为我只需要把这个类型的词进行索引
1.词典只能处理全中文的词汇,对于数字型字符,会被分配到数字切分器处理,无法进入中文切分过程
2/3综合两个问题,我想你的需求是仅需要对词典包含的词进行切分,那么你可以修改源码, org.wltea.analyzer.cfg.Configuration类中的public static List<ISegmenter> loadSegmenter()方法,移除其中的QuantifierSegmenter和LetterSegmenter子分词器
另外,修改org.wltea.analyzer.Context中的addLexeme方法,过滤长度小于2的词语,只添加Type为TYPE_CJK_NORMAL的词元
27 楼
guava
2010-08-10
在使用中有几个问题 请老师在百忙中回答一下
1 我在mydict.dic里面写了 “7仔”这个词,分词分不出来,是不是因为数字和文字混在一起就不行啊?(其他自定义的词是可以的)
2 如果我想分出来的词,都是长度为2以上的,怎么做呢?
3 我代码里写了
Analyzer analyzer = new IKAnalyzer();
this.iwriter = new IndexWriter(indexDir,analyzer ,true , IndexWriter.MaxFieldLength.UNLIMITED);
那怎么获取到 IKSegmentation ikSeg
因为我想根据切分出来的Lexeme的Type来判断是否只是TYPE_CJK_NORMAL
因为我只需要把这个类型的词进行索引
1 我在mydict.dic里面写了 “7仔”这个词,分词分不出来,是不是因为数字和文字混在一起就不行啊?(其他自定义的词是可以的)
2 如果我想分出来的词,都是长度为2以上的,怎么做呢?
3 我代码里写了
Analyzer analyzer = new IKAnalyzer();
this.iwriter = new IndexWriter(indexDir,analyzer ,true , IndexWriter.MaxFieldLength.UNLIMITED);
那怎么获取到 IKSegmentation ikSeg
因为我想根据切分出来的Lexeme的Type来判断是否只是TYPE_CJK_NORMAL
因为我只需要把这个类型的词进行索引
26 楼
linliangyi2007
2010-02-24
huangfox 写道
请问
对 “玩具汽车” 进行分词被分成: “玩具”和“汽车”
但是检索需求 查“车”也能够检索出 玩具汽车
请问是否可以将“玩具汽车”
分成:
玩
具
汽
车
玩具
汽车
即:第一按字分;第二按词分。
若是要改源代码,怎么处理呢?
ps:对分词源码还没有读过呢~
对 “玩具汽车” 进行分词被分成: “玩具”和“汽车”
但是检索需求 查“车”也能够检索出 玩具汽车
请问是否可以将“玩具汽车”
分成:
玩
具
汽
车
玩具
汽车
即:第一按字分;第二按词分。
若是要改源代码,怎么处理呢?
ps:对分词源码还没有读过呢~
你可以加一个简单的单字切分的子分词器到IK中,实现IK的ISegmenter接口,并修改Configuration中的loadSegmenter方法。
同时必须使用IKAnalyzer(false)方式构造分词器,这样不会过滤重叠的单字切分。
25 楼
jacky2007
2009-12-03
linliangyi2007 写道
jacky2007 写道
lucene3.0下出现以下错误
Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:137)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:246)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:773)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:751)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1928)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1902)
at IKAnalyzerDemo.main(IKAnalyzerDemo.java:43)
Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:137)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:246)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:773)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:751)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1928)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1902)
at IKAnalyzerDemo.main(IKAnalyzerDemo.java:43)
IK3.1.6GA不支持Lucene3.0版本,原因是Lucene3.0完全改变了先前版本的analysis部分的API。在lucene2.9开始,已经声明要废除旧API,不过做了兼容处理,到了3.0则彻底删除了。
为此IK Analyzer将在下周一份发布 3.2.0版本,新版本将全面跟随lucene3.0的升级。新版本会支持lucene2.9 - lucene3.0 以及 solr1.4 ,但不再对lucene2.4的API支持。
目前3.2.0版本已经在测试阶段,您可以留下email,提前获取新版本体验。谢谢
谢谢回复.
email:ccx1999#163.com(请把#换成@)
24 楼
linliangyi2007
2009-12-03
jacky2007 写道
lucene3.0下出现以下错误
Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:137)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:246)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:773)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:751)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1928)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1902)
at IKAnalyzerDemo.main(IKAnalyzerDemo.java:43)
Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:137)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:246)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:773)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:751)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1928)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1902)
at IKAnalyzerDemo.main(IKAnalyzerDemo.java:43)
IK3.1.6GA不支持Lucene3.0版本,原因是Lucene3.0完全改变了先前版本的analysis部分的API。在lucene2.9开始,已经声明要废除旧API,不过做了兼容处理,到了3.0则彻底删除了。
为此IK Analyzer将在下周一份发布 3.2.0版本,新版本将全面跟随lucene3.0的升级。新版本会支持lucene2.9 - lucene3.0 以及 solr1.4 ,但不再对lucene2.4的API支持。
目前3.2.0版本已经在测试阶段,您可以留下email,提前获取新版本体验。谢谢
23 楼
jacky2007
2009-12-03
lucene3.0下出现以下错误
Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:137)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:246)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:773)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:751)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1928)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1902)
at IKAnalyzerDemo.main(IKAnalyzerDemo.java:43)
Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:137)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:246)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:773)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:751)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1928)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1902)
at IKAnalyzerDemo.main(IKAnalyzerDemo.java:43)
22 楼
jacky2007
2009-12-03
在lucene3.0下使用会有错误的?
21 楼
piziwang
2009-12-01
linliangyi2007 写道
piziwang 写道
删除原有的主词典 岂不是其他地方的lucene+IKanalyzer全文检索 就无法使用了啊?
替换IK的词典,会不会影响到内存中已经加载的IK词典??
这个也是一个问题,是会影响的。如果你既要全部的词典,又要个性化关键字,那你只能自己在分词后进行二次匹配,来决定那些词要留了。
也只能对分词后的结果再次进行二次匹配了。
谢谢您啊!呵呵
顺便问一句:网上很多论坛帖子的标签Tag是如何生成的啊??
20 楼
linliangyi2007
2009-12-01
piziwang 写道
删除原有的主词典 岂不是其他地方的lucene+IKanalyzer全文检索 就无法使用了啊?
替换IK的词典,会不会影响到内存中已经加载的IK词典??
这个也是一个问题,是会影响的。如果你既要全部的词典,又要个性化关键字,那你只能自己在分词后进行二次匹配,来决定那些词要留了。
19 楼
piziwang
2009-12-01
linliangyi2007 写道
piziwang 写道
林老师,请教你一个问题:
我最近在使用你的 IKAnalyzer, 我一个需求:提取关键词标签。(从一个标题中抽取有意义的标签Tag)
例如,标题: “从全文检索的数据分析来看,https数据不正确,无法还原数据。”
标题中“全文检索”、“https”、“还原” 是有意义的标签 Tag。
我使用 IKAnalyzer 对上面的标题进行分词,如何抽取出上面的标签Tag,其余的词语全部丢掉??
比如,我定义了一个词典,里面存放我们认为有意义的标签 Tag,根据这个标签词典进行标题内容的标签Tag抽取?
myTag.dict
全文
https
还原
手机报警
电信扩容
信息碰撞
关系图
......
我最近在使用你的 IKAnalyzer, 我一个需求:提取关键词标签。(从一个标题中抽取有意义的标签Tag)
例如,标题: “从全文检索的数据分析来看,https数据不正确,无法还原数据。”
标题中“全文检索”、“https”、“还原” 是有意义的标签 Tag。
我使用 IKAnalyzer 对上面的标题进行分词,如何抽取出上面的标签Tag,其余的词语全部丢掉??
比如,我定义了一个词典,里面存放我们认为有意义的标签 Tag,根据这个标签词典进行标题内容的标签Tag抽取?
myTag.dict
全文
https
还原
手机报警
电信扩容
信息碰撞
关系图
......
如果你需要信息抽取,你可以尝试使用IKSegmentation进行分词,并使用自定义的词典代替IK的词典(换句话说,删除原有的主词典)。
程序如下:
List<String> testStr = new ArrayList<String>(); testStr.add("IKAnalyzer 是一个开源的,基于java 语言开发的轻量级的中文分词工具包。从2006 年12月推出1.0 版开始, IKAnalyzer 已经推出了3 个大版本。"); for(String t : testStr){ System.out.println(t); IKSegmentation ikSeg = new IKSegmentation(new StringReader(t) , false); try { Lexeme l = null; while( (l = ikSeg.next()) != null){ System.out.println(l); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("***************"); }
再根据切分出来的Lexeme的Type来判断是不是词典中的词,以下是Type的分类。
//lexemeType常量 //普通词元 public static final int TYPE_CJK_NORMAL = 0; //姓氏 public static final int TYPE_CJK_SN = 1; //尾缀 public static final int TYPE_CJK_SF = 2; //未知的 public static final int TYPE_CJK_UNKNOWN = 3; //数词 public static final int TYPE_NUM = 10; //量词 public static final int TYPE_NUMCOUNT = 11; //英文 public static final int TYPE_LETTER = 20;
"如果你需要信息抽取,你可以尝试使用IKSegmentation进行分词,并使用自定义的词典代替IK的词典(换句话说,删除原有的主词典)。"
删除原有的主词典 岂不是其他地方的lucene+IKanalyzer全文检索 就无法使用了啊?
替换IK的词典,会不会影响到内存中已经加载的IK词典??
18 楼
linliangyi2007
2009-12-01
piziwang 写道
林老师,请教你一个问题:
我最近在使用你的 IKAnalyzer, 我一个需求:提取关键词标签。(从一个标题中抽取有意义的标签Tag)
例如,标题: “从全文检索的数据分析来看,https数据不正确,无法还原数据。”
标题中“全文检索”、“https”、“还原” 是有意义的标签 Tag。
我使用 IKAnalyzer 对上面的标题进行分词,如何抽取出上面的标签Tag,其余的词语全部丢掉??
比如,我定义了一个词典,里面存放我们认为有意义的标签 Tag,根据这个标签词典进行标题内容的标签Tag抽取?
myTag.dict
全文
https
还原
手机报警
电信扩容
信息碰撞
关系图
......
我最近在使用你的 IKAnalyzer, 我一个需求:提取关键词标签。(从一个标题中抽取有意义的标签Tag)
例如,标题: “从全文检索的数据分析来看,https数据不正确,无法还原数据。”
标题中“全文检索”、“https”、“还原” 是有意义的标签 Tag。
我使用 IKAnalyzer 对上面的标题进行分词,如何抽取出上面的标签Tag,其余的词语全部丢掉??
比如,我定义了一个词典,里面存放我们认为有意义的标签 Tag,根据这个标签词典进行标题内容的标签Tag抽取?
myTag.dict
全文
https
还原
手机报警
电信扩容
信息碰撞
关系图
......
如果你需要信息抽取,你可以尝试使用IKSegmentation进行分词,并使用自定义的词典代替IK的词典(换句话说,删除原有的主词典)。
程序如下:
List<String> testStr = new ArrayList<String>(); testStr.add("IKAnalyzer 是一个开源的,基于java 语言开发的轻量级的中文分词工具包。从2006 年12月推出1.0 版开始, IKAnalyzer 已经推出了3 个大版本。"); for(String t : testStr){ System.out.println(t); IKSegmentation ikSeg = new IKSegmentation(new StringReader(t) , false); try { Lexeme l = null; while( (l = ikSeg.next()) != null){ System.out.println(l); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("***************"); }
再根据切分出来的Lexeme的Type来判断是不是词典中的词,以下是Type的分类。
//lexemeType常量 //普通词元 public static final int TYPE_CJK_NORMAL = 0; //姓氏 public static final int TYPE_CJK_SN = 1; //尾缀 public static final int TYPE_CJK_SF = 2; //未知的 public static final int TYPE_CJK_UNKNOWN = 3; //数词 public static final int TYPE_NUM = 10; //量词 public static final int TYPE_NUMCOUNT = 11; //英文 public static final int TYPE_LETTER = 20;
17 楼
piziwang
2009-12-01
林老师,请教你一个问题:
我最近在使用你的 IKAnalyzer, 我一个需求:提取关键词标签。(从一个标题中抽取有意义的标签Tag)
例如,标题: “从全文检索的数据分析来看,https数据不正确,无法还原数据。”
标题中“全文检索”、“https”、“还原” 是有意义的标签 Tag。
我使用 IKAnalyzer 对上面的标题进行分词,如何抽取出上面的标签Tag,其余的词语全部丢掉??
比如,我定义了一个词典,里面存放我们认为有意义的标签 Tag,根据这个标签词典进行标题内容的标签Tag抽取?
myTag.dict
全文
https
还原
手机报警
电信扩容
信息碰撞
关系图
......
我最近在使用你的 IKAnalyzer, 我一个需求:提取关键词标签。(从一个标题中抽取有意义的标签Tag)
例如,标题: “从全文检索的数据分析来看,https数据不正确,无法还原数据。”
标题中“全文检索”、“https”、“还原” 是有意义的标签 Tag。
我使用 IKAnalyzer 对上面的标题进行分词,如何抽取出上面的标签Tag,其余的词语全部丢掉??
比如,我定义了一个词典,里面存放我们认为有意义的标签 Tag,根据这个标签词典进行标题内容的标签Tag抽取?
myTag.dict
全文
https
还原
手机报警
电信扩容
信息碰撞
关系图
......
16 楼
gogobu
2009-11-25
gogobu 写道
linliangyi2007 写道
gogobu 写道
有个 Compass 相关的问题想请教。
IKAnalyzer 和 IKSimilarity 目前都是直接继承了 Lucene,所以直接接入 Compass 没有问题。但 IKQueryParser 好象不是,无法直接替代 lucene 的 QueryParser。
请问有什么方法可以把 IKQueryParser 集成到 Compass 里面?谢谢!
IKAnalyzer 和 IKSimilarity 目前都是直接继承了 Lucene,所以直接接入 Compass 没有问题。但 IKQueryParser 好象不是,无法直接替代 lucene 的 QueryParser。
请问有什么方法可以把 IKQueryParser 集成到 Compass 里面?谢谢!
IKQueryParser 与 lucene QueryParser并不是接口实现关系。IKQueryParser是为了实现分词歧义的组合优化而设计的,并不像 lucene QueryParser那样可以解析lucene的查询表达式。只是命名的时候,不知道叫啥最合适,最后还是选择了QueryParser。
而 lucene QueryParser 本身也不像 Analyzer和 Similarity那样以接口设计的,它本身就是一个具体实现类。
明白了,谢谢。如果我还是想用上 IKQueryParser,是不是可以自己实现一个类重载 lucene QueryParser,然后在里面调用 IKQueryParser? 还是说这两者基本上就不兼容?
自问自答,按照Compass的框架写了个简单的custom QueryParser,搞定。
15 楼
piziwang
2009-11-24
linliangyi2007 写道
piziwang 写道
linliangyi,
如何在tomcat启动的时候,就加载 IKAnalyzer的词典?
而不是在第一次调用IKAnalyzer时加载词典。
因为如果在第一次调用IKAnalyzer时加载词典,用户感觉会比较慢,我想在tomcat容器启动的时候,加载词典,这样,用户第一次使用时就不会感觉到慢了。
如何在tomcat启动的时候,就加载 IKAnalyzer的词典?
而不是在第一次调用IKAnalyzer时加载词典。
因为如果在第一次调用IKAnalyzer时加载词典,用户感觉会比较慢,我想在tomcat容器启动的时候,加载词典,这样,用户第一次使用时就不会感觉到慢了。
创建一个Tomcat的ContextListener(这个知道吧),在初始化方法中调用
org.wltea.analyzer.dic.Dictionary.getInstance();
即可。词典占用27M内存,总共27万个词元。
明白,我试试,呵呵!
14 楼
linliangyi2007
2009-11-24
piziwang 写道
linliangyi,
如何在tomcat启动的时候,就加载 IKAnalyzer的词典?
而不是在第一次调用IKAnalyzer时加载词典。
因为如果在第一次调用IKAnalyzer时加载词典,用户感觉会比较慢,我想在tomcat容器启动的时候,加载词典,这样,用户第一次使用时就不会感觉到慢了。
如何在tomcat启动的时候,就加载 IKAnalyzer的词典?
而不是在第一次调用IKAnalyzer时加载词典。
因为如果在第一次调用IKAnalyzer时加载词典,用户感觉会比较慢,我想在tomcat容器启动的时候,加载词典,这样,用户第一次使用时就不会感觉到慢了。
创建一个Tomcat的ContextListener(这个知道吧),在初始化方法中调用
org.wltea.analyzer.dic.Dictionary.getInstance();
即可。词典占用27M内存,总共27万个词元。
发表评论
-
来自开源支持者的第一笔捐赠
2013-01-09 21:15 57772013年1月9号,一个平凡而又不平常的日子! IK中文分词 ... -
发布 IK Analyzer 2012 FF 版本
2012-10-23 17:50 25068首先感谢大家对IK分词器的关注。 最近一段时间正式公司事务最 ... -
发布 IK Analyzer 2012 版本
2012-03-08 11:23 36160新版本改进: 支持分词歧义处理 支持数量词合并 词典支持中英 ... -
CSDN发生严重用户账号泄密事件
2011-12-21 19:21 2563之前有在CSDN注册过的兄弟们,注意了。。。 如果你的邮箱, ... -
一个隐形的java int溢出
2011-08-30 09:44 7554故事的背景: 笔者最近在做一个类SNS的项目,其中 ... -
雷军 :互联网创业的葵花宝典
2011-05-04 10:35 3592博主评: 这片博客很短 ... -
Luci-mint站内搜索实测
2011-04-02 16:18 4134关于Luci-mint 服务器硬 ... -
发布 IK Analyzer 3.2.8 for Lucene3.X
2011-03-04 17:49 14249IK Analyzer 3.2.8版本修订 ... -
TIPS - XML CDATA中的非法字符处理
2011-02-17 15:03 3298XML解析过程中,常遇见CDATA中存在非法字符,尤其在火星文 ... -
对Cassandra的初体验
2010-10-13 17:58 9128作为“云计算”时代的架构设计人员而言,不懂K-V库会被 ... -
Spring + iBatis 的多库横向切分简易解决思路
2010-10-11 13:43 93541.引言 笔者最近在做一个互联网的“类SNS”应用,应用 ... -
发布 IK Analyzer 3.2.5 稳定版 for Lucene3.0
2010-09-08 14:43 5821新版本IKAnnlyzer3.2.8已发布! 地址: http ... -
关于Lucene3.0.1 QueryParser的一个错误
2010-05-21 21:33 2125表达式1: 引用 id:"1231231" ... -
发布 IK Analyzer 3.2.3 稳定版 for Lucene3.0
2010-05-15 14:13 6713IK Analyzer 3.2.3版本修订 在3.2.0版 ... -
windows平台上的nginx使用
2010-01-28 17:13 3401转载自:http://nginx.org/en/docs/wi ... -
发布IKAnnlyzer3.2.0稳定版 for Lucene3.0
2009-12-07 09:27 9572最新3.2.5版本已经推出,http://linliangyi ... -
在Tomcat下以JNDI方式发布JbossCache
2009-12-04 10:57 3825前言: 看过JbossCache的开发手册,发现在Jb ... -
Spring AOP小例子
2009-11-16 10:35 3402PS: 要注明一下,这个是转载滴,之前漏了说鸟,汗死 这里给 ... -
ActiveMQ 5.X 与 Tomcat 集成一(JNDI部署)
2009-11-10 15:15 5647原文地址:http://activemq.apache.org ... -
设计模式感悟
2009-11-07 17:57 3694最近又把以前学习的模式过了一遍,感觉模式不是学出来的,是悟出来 ...
相关推荐
标题:"IKAnalyzer中文分词器v2012使用手册" 所述的知识点包括: IKAnalyzer是一款开源的基于Java语言开发的轻量级中文分词工具包,最早版本于2006年12月发布。作为一个文本分析组件,它最初是作为开源项目Lucene的...
IKAnalyzer是一个开源的中文分词器,基于Java语言开发,它是一个轻量级的中文分词工具包。IKAnalyzer自2006年12月推出1.0版本以来,已经发展到了2012版本。这个分词器最初是基于开源项目Lucene的词典分词和文法分析...
### IKAnalyzer中文分词器V3.1.6:深入解析与使用指南 #### 一、IKAnalyzer3.0概述 IKAnalyzer是一个基于Java语言开发的高性能中文分词工具包,自2006年发布以来,已历经多次迭代升级。起初作为开源项目Lucene的一...
**IKAnalyzer中文分词器V3.2使用详解** IKAnalyzer是一款开源的、适用于Java环境的中文分词器,主要用于解决在信息检索、文本挖掘等领域中遇到的中文处理问题。这款分词器的设计目标是提高分词的准确率,并且具有...
**IKAnalyzer中文分词** IKAnalyzer是一款开源的、基于Java实现的中文分词工具,它在中文信息处理领域有着广泛的应用。该工具最初由尹军平(IkGuo)开发,设计目标是提供一个轻量级、高效能的中文分词引擎,用于...
**IKAnalyzer中文分词器V3.2.0详解** IKAnalyzer是一款专为中文处理设计的开源分词器,广泛应用于搜索引擎、信息检索系统、文本挖掘等领域。它以高效、灵活和准确的特性,在Java开发的中文应用中占有重要地位。V...
### IKAnalyzer中文分词器V2012使用手册知识点详解 #### 1. IKAnalyzer2012介绍 IKAnalyzer是一款开源的、基于Java语言开发的轻量级中文分词工具包。自2006年12月发布1.0版以来,已历经多次迭代,至2012版本时,它...
### IKAnalyzer中文分词器V3.1.1使用手册 #### 1. IKAnalyzer 3.1.1 介绍 IKAnalyzer是一个基于Java语言开发的开源轻量级中文分词工具包。自2006年12月发布1.0版本以来,IKAnalyzer已经经历了多个版本的迭代,不断...
**IK Analyzer中文分词器详解** IK Analyzer是一个在IT领域广泛应用的开源项目,它专注于Java平台上的中文分词处理。中文分词是自然语言处理(NLP)中的基础任务,对于信息检索、文本挖掘、机器翻译等领域至关重要...
- **IKAnalyzer中文分词器V2012使用手册.pdf**:这是一份详细的操作指南,提供了如何使用IKAnalyzer的步骤、配置说明和常见问题解答,对于初学者来说非常有用。 - **IK Analyzer 2012FF_hf1_source.rar**:这是IK...
### IKAnalyzer中文分词器V2012_U5使用手册关键知识点解析 #### 1. IKAnalyzer2012介绍 IKAnalyzer是一款基于Java语言开发的开源中文分词工具包,自2006年12月发布1.0版以来,已历经多次重大升级。最初作为Lucene...
IK Analyzer 是一个开源的、基于Java实现的中文分词器,专为全文检索或信息提取等任务设计。它由尹力(Wu Li)在2006年发起,最初是为了改善Lucene的中文处理能力。自那时起,IK Analyzer已经发展成为一个广泛使用的...
IKAnalyzer是一款广泛应用于Java环境中的开源中文分词器,它主要设计用于提高搜索引擎的性能,同时也适用于其他需要中文处理的领域。v3.2.0是该分词器的一个稳定版本,提供了良好的分词效果和较高的性能。在这个版本...
IK-Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包,也就是可以将一串中文字符分割成一个个的词组或者字词 文件中包含分词工具 ikanalyzer-2012_u6.jar 中文分词配置 IKAnalyzer.cfg..xml
提示:IKAnalyzer中文分词器支持Lucene6.0以上,IKAnalyzer中文分词器支持Lucene6.0以上。
IKAnalyzer非常易用的java分词工具。可以自定义扩展词汇。 这个是一个完整的java项目demo。直接可以用,不用再去google下载了。添加了几个自定义词汇,测试好用。 运行ika.java里的main方法即可
ikanalyzer中文分词支持lucene7.1.0是一个针对Lucene搜索引擎的中文分词扩展,由林良益先生开发,旨在提供高效、精准的中文词汇拆解功能。Lucene是一个开源全文检索库,它提供了索引和搜索文本的强大工具。然而,...
### IKAnalyzer中文分词器V3.1.3使用手册概览 #### 1. IKAnalyzer3.0介绍 IKAnalyzer是一款专为中文文本处理设计的高性能分词工具包,自2006年首次发布以来,已历经多次迭代升级至V3.1.3版本。最初作为Lucene项目...