Comments (23)
这个是因为Lucene 4.0
beta里面Tokenizer的API改动的缘故,从之前的reset变成了现在的se
t,只需要把MMSegTokenizer类中reset方法的名字改成set去override掉�
��类的方法即可。
Original comment by [email protected]
on 3 Sep 2012 at 9:41
from mmseg4j.
楼上方法试了不行啊。
Original comment by [email protected]
on 3 Sep 2012 at 2:47
from mmseg4j.
不好意思,我没说清楚。
4.0Beta里,reset被改成了setReader,有两个类需要改动,一个是MM
SegTokenizerFactory(里面含有关于setReader的调用),另外一个是M
MSegTokenizer(需要override掉父类setReader的方法)。
Original comment by [email protected]
on 4 Sep 2012 at 2:17
from mmseg4j.
MMSegTokenizer.java文件改动:
//public void reset(Reader input) throws IOException {
public void setReader(Reader input) throws IOException {
//super.reset(input);
mmSeg.reset(input);
}
MMSegTokenizerFactory.java文件改动:
try {
//tokenizer.reset(input);
tokenizer.setReader(input);
} catch (IOException e) {
tokenizer = newTokenizer(input);
log.info("MMSegTokenizer.reset i/o error by:"+e.getMessage());
}
是这样吗。
Original comment by [email protected]
on 4 Sep 2012 at 4:45
from mmseg4j.
//super.reset(input);
这个应该改为super.setReader(input);吧
Original comment by [email protected]
on 4 Sep 2012 at 4:58
from mmseg4j.
[deleted comment]
from mmseg4j.
[deleted comment]
from mmseg4j.
改后编译出错
[javac] ~/tmp/mmseg4j/src/com/chenlb/mmseg4j/analysis/MMSegTokenizer.java:34: error: cannot find symbol
[javac] super.setReader(input);
[javac] ^
[javac] symbol: method setReader(Reader)
[javac] 1 error
Original comment by [email protected]
on 4 Sep 2012 at 6:02
from mmseg4j.
MMSegTokenizer.java文件改动:
//public void reset(Reader input) throws IOException {
public void setReader(Reader input) throws IOException {
super.setReader(input);
mmSeg.reset(input);
}
另外,你有引入Lucene 4.0
Beta吗?如果有,不应该编译不过啊!
Original comment by [email protected]
on 4 Sep 2012 at 6:21
from mmseg4j.
引入是不是就是该ivy.xml:
<dependencies>^M
<!-- solr/lucene -->^M
<dependency org="org.apache.lucene" name="lucene-core" rev="4.0.0-BETA" conf="compile->master(*)"/>^M
<dependency org="org.apache.lucene" name="lucene-analyzers-common" rev="4.0.0-BETA" conf="compile->master(*)"/>^M
<dependency org="org.apache.lucene" name="lucene-queryparser" rev="4.0.0-BETA" conf="compile->master(*)"/>^M
<dependency org="org.apache.solr" name="solr-core" rev="4.0.0-BETA" conf="compile->master(*)"/>^M
<dependency org="org.apache.solr" name="solr-solrj" rev="4.0.0-BETA" conf="compile->master(*)"/>^M
^M
</dependencies>^M
Original comment by [email protected]
on 4 Sep 2012 at 6:35
from mmseg4j.
[deleted comment]
from mmseg4j.
[deleted comment]
from mmseg4j.
终于搞定了。
要吧lib下得ALPHA版本的jar文件删掉。
thanks.
Original comment by [email protected]
on 4 Sep 2012 at 6:57
from mmseg4j.
这个应该让作者编译一个版本才是啊
Original comment by [email protected]
on 4 Sep 2012 at 8:26
from mmseg4j.
我現在正在配置solr4正式版的時候也遇到這樣的問題
有點不知道該怎麼去build
不知道是否可以提供一下更改後編譯好的檔案呢? 謝謝
Original comment by [email protected]
on 23 Oct 2012 at 3:16
from mmseg4j.
照著上面的改成setReader會說無法override
用原本的reset的話再solr那邊測試的時候會出現 Error occured
while iterating over tokenstream
請問該怎麼改?
[javac] Compiling 1 source file to /opt/mmseg4j/build/classes/java
[javac] /opt/mmseg4j/src/com/chenlb/mmseg4j/analysis/MMSegTokenizer.java:32: setReader(java.io.Reader) in com.chenlb.mmseg4j.analysis.MMSegTokenizer cannot override setReader(java.io.Reader) in org.apache.lucene.analysis.Tokenizer; overridden method is final
[javac] public void setReader(Reader input) throws IOException {
[javac] ^
[javac] 1 error
Original comment by [email protected]
on 23 Oct 2012 at 6:12
from mmseg4j.
请将你的MMSegTokenizer类的 incrementToken
方法标注成final。否则在debug模式下会抛异常。
Original comment by [email protected]
on 25 Oct 2012 at 2:27
from mmseg4j.
Comment 3 by [email protected], Sep 3, 2012
不好意思,我没说清楚。
4.0Beta里,reset被改成了setReader,有两个类需要改动,一个是MM
SegTokenizerFactory(里面含有关于setReader的调用),另外一个是M
MSegTokenizer(需要override掉父类setReader的方法)。
另外一个是MMSegTokenizer(需要override掉父类setReader的方法)
现在的正式版里,setReader已经是final,不能被override了,请作�
��抽点时间重新发布个版本吧
Original comment by x03570227
on 14 Nov 2012 at 8:46
from mmseg4j.
我也遇到这个问题了,还以为是lucene4和solr4不兼容呢,
狂google了一圈. 还好找到了这个帖子. 麻烦作者更新下发布包.
Original comment by [email protected]
on 29 Nov 2012 at 3:35
from mmseg4j.
谢谢eddie和dota的讨论, 我把solr,
lucene都改称4.0.0正式版编译了一下. 自己测试能用了.
付上编译后的jar包和大家分享.
Original comment by [email protected]
on 29 Nov 2012 at 4:16
Attachments:
from mmseg4j.
下载kevin的包还是有问题
Original comment by [email protected]
on 25 Dec 2012 at 9:43
from mmseg4j.
solr4.6+mmseg4j1.9集成时报错
ERROR org.apache.solr.core.SolrCore – java.lang.IllegalStateException:
TokenStream contract violation: reset()/close() call missing, reset() called
multiple times, or subclass does not call super.reset(). Please see Javadocs of
TokenStream class for more information about the correct consuming workflow.
想问一下你们在修改代码然后重新编译项目。那么源代码是��
�哪儿下载的啊?!我怎么没找着源代码在哪儿?!
Original comment by [email protected]
on 18 Feb 2014 at 8:39
from mmseg4j.
使用 2.0.0
参考 https://github.com/chenlb/mmseg4j-solr
Original comment by [email protected]
on 19 May 2014 at 12:08
- Changed state: Fixed
from mmseg4j.
Related Issues (20)
- 1.9+solr4.3报错 HOT 5
- mmseg1.9+4.3配置有问题 HOT 2
- 1.9.1在solr4.2.1加载不了。 HOT 2
- solr 4.4 上配置 mmseg4j-1.9.1 报错。 HOT 1
- solr4.3集成时出错 at org.apache.solr.core.SolrResourceLoader.reloadLuceneSPI HOT 1
- 能介绍一下在lucene下怎么配置吗? 还有在用1.9 的源码通过ant build时,提示找不到目标文件
- solr4.5+mmseg4j1.9.1 配置不对 HOT 2
- Maven主库中mmseg4j-core-1.9.1.jar 下载不了 HOT 2
- mmseg4j 1.9.1 + Solr 4.6.0 報錯 HOT 8
- 特殊符号内的不分词 HOT 3
- solr4.9 mmseg4j1.9.1 reset()/close() call missing HOT 3
- 关于匹配的问题 HOT 2
- mmseg4j三种分词方式:Simple,Complex和maxword有什么区别? HOT 1
- solr4.3.1 + mmseg4j1.9.1 (分词不成功) HOT 2
- 如何支持中英文混合的分词? HOT 2
- Plugin init failure for [schema.xml] fieldType "textComplex": Plugin init failure for [schema.xml] analyzer/tokenizer: Error instantiating class: 'com.chenlb.mmseg4j.solr.MMSegTokenizerFactory' HOT 1
- solr4.2.2 加载不了mmseg4j-1.91 HOT 1
- 可以支持solr 4.10吗?
- 关于mmseg4j-solr-2.3.0
- 关于停用词、同义词词库配置
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mmseg4j.