欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

lucene web 检索异常 search为空(分不多了不好意思)

更新时间: 2014-05-13 02:00:57 责任编辑: Author_N2

 

Lucene web 检索错误 search为空(分不多了不好意思)
这个程序是lucene3.0自带的例子。我用另外一个索引程序建立了索引,也就改变了检索程序的索引路径和搜索字段。其他都没有改变,但是检索提示就是searcher 是空(null)。这是是部分主要代码。所有括号有些不完整。麻烦给看看

<%@ page import = " javax.servlet.*, javax.servlet.http.*, java.io.*, org.apache.lucene.analysis.*, org.apache.lucene.analysis.standard.StandardAnalyzer, org.apache.lucene.document.*, org.apache.lucene.index.*, org.apache.lucene.store.*, org.apache.lucene.search.*, org.apache.lucene.queryParser.*, org.apache.lucene.demo.*, org.apache.lucene.demo.html.Entities, java.net.URLEncoder, org.apache.lucene.util.Version" %>

<%!
public String escapeHTML(String s) {
  s = s.replaceAll("&", "&amp;");
  s = s.replaceAll("<", "&lt;");
  s = s.replaceAll(">", "&gt;");
  s = s.replaceAll("\"", "&quot;");
  s = s.replaceAll("'", "&apos;");
  return s;
}
%>
<%@include file="header.jsp"%>
<%
  boolean error = false;  
  String indexName = "D:\workspace\lucnentest\dbindex";
  IndexSearcher searcher = null;  
  Query query = null;  
  TopDocs hits = null;  
  int startindex = 0;  
  int maxpage = 50;  
  String queryString = null;  
  String startVal = null;  
  String maxresults = null;  
  int thispage = 0;  
   
  try {
  IndexReader reader = IndexReader.open(FSDirectory.open(new File(indexName)), true); 
  searcher = new IndexSearcher(reader);  
  } 
  catch (Exception e) 
  {  
%>
  <p>ERROR opening the Index - contact sysadmin!</p>
  <p>Error message: <%=escapeHTML(e.getMessage())%></p>  
<% error = true;  
  }
%>
<%
  if (error == false) {  
  queryString = request.getParameter("query");  
  startVal = request.getParameter("startat");  
  maxresults = request.getParameter("maxresults");  
  try {
  maxpage = Integer.parseInt(maxresults);  
  startindex = Integer.parseInt(startVal);  
  } 
  catch (Exception e) { }  

  if (queryString == null)
  throw new ServletException("no query "+ "specified");
   
  Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);  
  try {
  QueryParser qp = new QueryParser(Version.LUCENE_CURRENT, "title", analyzer);
  query = qp.parse(queryString); //parse the 
  } 
  catch (ParseException e) {  
   
%>
  <p>Error while parsing query: <%=escapeHTML(e.getMessage())%></p>
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-05-13 02:00:57
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/134613/
本文WWW.DOC100.NET DOC100.NET版权所有。