该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-01-27
ajonjun 写道 开源代码能共享下吗?
当然可以啊,既然是开源项目哪有没代码的,哈哈。 上IK的google code站点吧,有rar包的源码,也有svn方式的下载。 |
|
返回顶楼 | |
发表时间:2010-01-29
linliangyi2007 写道 zctya 写道 用的3.0及此分词器,在addDocument时报了一下java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z 请问是什么问题 java 接口的版本不对,会造成找不到抽象方法的异常。具体原因就多样化了,查查jar的实际引用版本吧,常常是IDE没有把正确的jar分布到lib的目录里,会有这个问题 嗯,这个问题解决了,本来是弄个3.2的,结果不知道怎么搞的,变成了3.16 想问下,为什么搜索单个字的时候,会搜索不到结果呢? 如何处理下呢?谢谢~! |
|
返回顶楼 | |
发表时间:2010-01-29
zctya 写道 linliangyi2007 写道 zctya 写道 用的3.0及此分词器,在addDocument时报了一下java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z
请问是什么问题 java 接口的版本不对,会造成找不到抽象方法的异常。具体原因就多样化了,查查jar的实际引用版本吧,常常是IDE没有把正确的jar分布到lib的目录里,会有这个问题 嗯,这个问题解决了,本来是弄个3.2的,结果不知道怎么搞的,变成了3.16 想问下,为什么搜索单个字的时候,会搜索不到结果呢? 如何处理下呢?谢谢~! lucene的原理就是按切分的词来搜索,而不是按字搜索,除非你把所有的词都切成单个字,否则搜索不到是正常的。 |
|
返回顶楼 | |
发表时间:2010-02-26
您好,请问我使用org.wltea.analyzer.dic.Dictionary.loadExtendStopWords方法后扩充的词汇存在在哪?我在stopword.dic中找不到。是没有存储吗?因为我看到org.wltea.analyzer.dic.Dictionary.loadExtendWords后会将词汇存储到IK的主词典中,所有有此疑问。
还有我用SSH,IKAnalyzer.cfg.xml和ext_stopword.dic的路径为config包中,在IKAnalyzer.cfg.xml中设置 <entry key="ext_stopwords">/config/ext_stopword.dic</entry> ,xml已经加载到了,但是停止词没用到。这是什么原因? |
|
返回顶楼 | |
发表时间:2010-02-26
最后修改:2010-02-26
MultiArrow 写道 您好,请问我使用org.wltea.analyzer.dic.Dictionary.loadExtendStopWords方法后扩充的词汇存在在哪?我在stopword.dic中找不到。是没有存储吗?因为我看到org.wltea.analyzer.dic.Dictionary.loadExtendWords后会将词汇存储到IK的主词典中,所有有此疑问。
还有我用SSH,IKAnalyzer.cfg.xml和ext_stopword.dic的路径为config包中,在IKAnalyzer.cfg.xml中设置 <entry key="ext_stopwords">/config/ext_stopword.dic</entry> ,xml已经加载到了,但是停止词没用到。这是什么原因? 通过loadExtendStopWords方法后扩充的词没有存储在文件内。 文章中说的主词典是指内存中的词典对象,即,扩展词和原本词库内的词都会在内存中合并到相同的词库中。 IK的字典是单向加载模式,不会反向的存储到磁盘文件中,你可以通过配置,从文件中读取,也可以通过API动态添加。 |
|
返回顶楼 | |
发表时间:2010-02-26
看了forfuture1978的文章,里面提到在建立索引的时候会先去除停词。
在IK中,搜索时是不是也把搜索条件中的符合停词的词给去掉? 如果是这样,那建立索引时去除停词这个动作不是多此一举了吗? |
|
返回顶楼 | |
发表时间:2010-02-26
MultiArrow 写道 看了forfuture1978的文章,里面提到在建立索引的时候会先去除停词。
在IK中,搜索时是不是也把搜索条件中的符合停词的词给去掉? 如果是这样,那建立索引时去除停词这个动作不是多此一举了吗? 实际上,不论在建立索引,还是输入搜索条件,都需要用到分词器,建立是会去除停词,搜索时也去除停词,两个是同一个过程啊。 |
|
返回顶楼 | |
发表时间:2010-02-26
linliangyi2007 写道 MultiArrow 写道 看了forfuture1978的文章,里面提到在建立索引的时候会先去除停词。
在IK中,搜索时是不是也把搜索条件中的符合停词的词给去掉? 如果是这样,那建立索引时去除停词这个动作不是多此一举了吗? 实际上,不论在建立索引,还是输入搜索条件,都需要用到分词器,建立是会去除停词,搜索时也去除停词,两个是同一个过程啊。 写搜索的代码时,没有用到分词器,所以想歪了。 |
|
返回顶楼 | |
发表时间:2010-03-12
1:请教下 我想用自己的扩展词库,比如说人名, 我在IKAnalyzer.cfg.xml
配置了<entry key="ext_dict">/mydic.dic;</entry> 并在mydic.dic里 写了人名字,但是索引的时候 却搜不到。这是啥原因呢? 不知道IKAnalyzer 的分词效果是啥样的。 2: 另外Lucene3.0之前的版本 都可以测试分词器分词 TokenStream tokenStream = analyzer.tokenStream("content", new StringReader(text)); for (Token token = new Token(); (token = tokenStream.next(token)) != null;) { System.out.println(token); } 但是Lucene3.0 的TokenStream却没有了next()方法,不知道您这个分词器 如何测试呢? |
|
返回顶楼 | |
发表时间:2010-03-12
配置路径啥的都没问题,您的那个停用词配置文件 可以用,但是用户扩展词库用不了。
|
|
返回顶楼 | |