我要采用lucene3做过分布式,lucene推荐使用RMI,lucene自带的有个lucene-remote.jar,按照里面的例子,发现在搜索的时候必须采用TopDocs docs = multiSearcher.search(query, 20),但是这种搜索有个弊端,就是分页的时候不好做.
因此我采用 TopScoreDocCollector colle = TopScoreDocCollector.create(100, true);
multiSearcher.search(query, colle);
scoreDoc = colle.topDocs(0, 100).scoreDocs;来搜索.分页比较方便,但是运行的时候包一下错误.请大家帮忙看下,是怎么回事? java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: org.apache.lucene.search.MultiSearcher$1
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:138)
at org.apache.lucene.search.RemoteSearchable_Stub.search(Unknown Source)
at org.apache.lucene.search.MultiSearcher.search(MultiSearcher.java:270)
at org.apache.lucene.search.Searcher.search(Searcher.java:67)
at com.wang.test.LuceneRMIClient.main(LuceneRMIClient.java:47)
Caused by: java.io.NotSerializableException: org.apache.lucene.search.MultiSearcher$1
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
... 4 more
因此我采用 TopScoreDocCollector colle = TopScoreDocCollector.create(100, true);
multiSearcher.search(query, colle);
scoreDoc = colle.topDocs(0, 100).scoreDocs;来搜索.分页比较方便,但是运行的时候包一下错误.请大家帮忙看下,是怎么回事? java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: org.apache.lucene.search.MultiSearcher$1
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:138)
at org.apache.lucene.search.RemoteSearchable_Stub.search(Unknown Source)
at org.apache.lucene.search.MultiSearcher.search(MultiSearcher.java:270)
at org.apache.lucene.search.Searcher.search(Searcher.java:67)
at com.wang.test.LuceneRMIClient.main(LuceneRMIClient.java:47)
Caused by: java.io.NotSerializableException: org.apache.lucene.search.MultiSearcher$1
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:274)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
... 4 more
解决方案 »
- java.lang.ClassNotFoundException这是什么错误?
- jsp适合开发论坛吗?
- 总也搞不清楚的session,请大侠解答。。。。。
- 使用java、jsp等相关技术如何实现报表?
- 我做了一个Bean,也便宜成功了,可服务器老是提示是无效的,请问为什么???
- 求救:附件内容是否能直接写入数据库?
- 高分:在线考试中如何实现时间控制?
- 关于解决问题严重 [懒贴] [懒帐],贴出者跟分!
- 如何在jsp中过滤html的tag,或是它不起作用??
- 帮我解决这个问题一定给分,,我很着急!!!关于jDataConnect运行错误
- 进度条的问题
- VS 2008 Professional Edition - CHS 在安装期间遇到问题
MultiSearcher 应该有问题