📄 contextlistener.java~1~
字号:
package com.ht.lucenedemo;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
public class ContextListener extends HttpServlet implements ServletContextListener, ServletContextAttributeListener {
private ResultSet rs = null;
private DataSource ds = null;
private Statement stmt = null;
private Connection conn = null;
public void contextInitialized(ServletContextEvent sce){
try{
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("jdbc/myoracle");
conn = ds.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select id,name from cas_cn_nplap");
Analyzer luceneAnalyzer = new StandardAnalyzer();
Directory indexDir = new RAMDirectory("D:\\luceneIndex");
IndexWriter indexWriter = new IndexWriter(indexDir,luceneAnalyzer,true);
long startTime = new java.util.Date().getTime();int i = 0;
while (rs.next()) {
Document document = new Document();
document.add(Field.Text("id", String.valueOf(rs.getLong("id"))));
document.add(Field.Text("contents", rs.getString("name")));
indexWriter.addDocument(document);i++;
}
indexWriter.optimize();
indexWriter.close();
long endTime = new java.util.Date().getTime();
System.err.println("建立索引时间: " + (endTime - startTime) + " 毫秒");
System.err.println("读取数据库记录数: " + i);
rs.close();
stmt.close();
conn.close();
}catch(Exception e){e.printStackTrace();}
}
public void contextDestroyed(ServletContextEvent sce) {
}
public void attributeAdded(ServletContextAttributeEvent scab) {
}
public void attributeRemoved(ServletContextAttributeEvent scab) {
}
public void attributeReplaced(ServletContextAttributeEvent scab) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -