import java.io.*;
import org.apache.lucene.search.*;
import org.apache.lucene.index.Term;
import org.apache.lucene.document.*;public class Query { private String INDEX_STORE_PATH = "D:/JEEworkspace/Preprocess/indexes";
private IndexSearcher searcher;
private BooleanQuery query; public String[] getQueryResult(String[] keys) throws IOException{
searcher = new IndexSearcher(INDEX_STORE_PATH);
query = new BooleanQuery();
if(keys == null){
return null;
}
int length = keys.length;
TermQuery[] term = new TermQuery[length]; for(int i = 0; i < length; i++){
term[i] = new TermQuery(new Term("context", keys[i]));
query.add(term[i], BooleanClause.Occur.MUST);
}
// Sort sort = new Sort(new SortField("score"));
Hits hits = searcher.search(query);
length = hits.length();
String[] result = new String[length];
for(int i = 0; i < length; i++){
Document doc = hits.doc(i);
String tmp = doc.getField("title").stringValue();
tmp = tmp + "|" + doc.getField("url").stringValue();
tmp = tmp + "|" + doc.getField("context").stringValue();
result[i] = tmp;
}
return result;
}
}
然后在页面调用会报如下错误
严重: Servlet.service() for servlet jsp threw exception
java.io.IOException: Unknown format version: -7
at org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:195)
at org.apache.lucene.index.IndexReader$1.doBody(IndexReader.java:152)
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:579)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:179)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:131)
at org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:43)
at sina.search.util.Query.getQueryResult(Query.java:18)
at org.apache.jsp.s_jsp._jspService(s_jsp.java:121)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
at java.lang.Thread.run(Thread.java:619)请大家指点下啊·紧急
解决方案 »
- 如何更好TOMECATE的数据源
- 关于从数据库中取数据并显示的问题
- HttpCllient如何使用Socks5代理访问Https网站!
- 怎样构建 struts+spring+hibernate 项目(对加包很不明白)
- <求助>只用hibernate+spring如何返回一个表单到web页面
- Spring data MongoDB 更新整个内嵌文档时报错???????
- 有项目外包,聘在福州的JSP程序员.
- Tomcat配置问题,查了无数帖子,但是还是不行。
- WSAD5.0注册问题
- 谁有用JAVA写的邮件服务器的源程序?
- 报错,,大家帮忙看看谢谢了,解释一下
- ssl双向认证失败,但是将配置设为单向的正常
searcher = new IndexSearcher(INDEX_STORE_PATH);
这一句报的错误
java.io.FileNotFoundException: no segments* file found: files:
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:485)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:179)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:131)
at org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:43)
at sina.search.Test.T3.main(T3.java:11)可是我建立索引后有存在segments文件啊
高手指点下·