- 浏览: 68032 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
风雨人生:
学习了,很好很强大....
解决JfreeChart柱状图数值显示在柱子顶端的问题 -
wuqi123321:
引用asdfasdfa
解决JfreeChart柱状图数值显示在柱子顶端的问题 -
yefeng:
我下了ru.nlmk.eclipse.plugins.prof ...
Java内存泄漏分析
/**
*
*/
package com.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import net.paoding.analysis.analyzer.PaodingAnalyzer;
import net.paoding.analysis.examples.gettingstarted.BoldFormatter;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.TermPositionVector;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Searcher;
import org.apache.lucene.search.highlight.Highlighter;
import org.apache.lucene.search.highlight.QueryScorer;
import org.apache.lucene.search.highlight.SimpleFragmenter;
import org.apache.lucene.search.highlight.TokenSources;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
/**
* @author Administrator
*
*/
public class LuceneTest {
private static String QUERY_FIELD = "address";
private static String FIELD3 = "id";
private static String FIELD1 = "name";
private static String FIELD2 = "address";
private static String QUERY = "中华 and 共和国";
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/mytest1?characterEncoding=utf-8";
String user = "root";
String password = "root";
String sql = "select * from test1";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
Analyzer analyzer = new PaodingAnalyzer();
//Analyzer analyzer = new CJKAnalyzer();
//Directory ramDir = new RAMDirectory();
Directory ramDir = FSDirectory.getDirectory("d://luncene");
IndexWriter writer = new IndexWriter(ramDir, analyzer);
while (rs.next()) {
System.out.println(rs.getString("address"));
Document doc = new Document();
Field fd1 = new Field(FIELD1, rs.getString("name"), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS);
Field fd2 = new Field(FIELD2, rs.getString("address"), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS);
Field fd3 = new Field(FIELD3, rs.getString("id"), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS);
doc.add(fd1);
doc.add(fd2);
doc.add(fd3);
writer.addDocument(doc);
System.out.println("-------------------------------");
}
writer.optimize();
writer.close();
//
IndexReader reader = IndexReader.open(ramDir);
String queryString = QUERY;
QueryParser parser = new QueryParser(QUERY_FIELD, analyzer);
Query query = parser.parse(queryString);
Searcher searcher = new IndexSearcher(ramDir);
query = query.rewrite(reader);
System.out.println("Searching for: " + query.toString(QUERY_FIELD));
Hits hits = searcher.search(query);
BoldFormatter formatter = new BoldFormatter();
Highlighter highlighter = new Highlighter(formatter, new QueryScorer(query));
highlighter.setTextFragmenter(new SimpleFragmenter(50));
for (int i = 0; i < hits.length(); i++) {
Document doc=hits.doc(i);
String text = hits.doc(i).get(QUERY_FIELD);
int maxNumFragmentsRequired = 5;
String fragmentSeparator = "...";
TermPositionVector tpv = (TermPositionVector) reader.getTermFreqVector(hits.id(i), QUERY_FIELD);
TokenStream tokenStream = TokenSources.getTokenStream(tpv);
String result = highlighter.getBestFragments(tokenStream, text, maxNumFragmentsRequired, fragmentSeparator);
System.out.println(doc.getField(FIELD3).stringValue()+"\t"+doc.getField(FIELD1).stringValue()+"\n" + result);
}
reader.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
发表评论
-
使用filter拦截servlet和jsp页面的内容,进行过滤后输出
2013-06-04 13:42 1188http://blog.csdn.net/shuwei00 ... -
连接池问题
2012-07-22 14:15 739connection耗尽不一定就是由connectio ... -
读写文件
2011-05-15 18:16 1039import java.io.BufferedInputStr ... -
流方式下载文章
2010-10-11 18:44 767流方式下载文章 -
JSP 图片验证码
2009-12-22 17:51 1043/*1.定义图片类*/ package servlet; ... -
tomcat 开启SSL
2009-12-10 23:37 18901.生成 KeyStore D:\jdk1.6.0_11 ... -
commons-dbutils 使用
2009-10-09 17:26 1217import java.sql.Connection; im ... -
JBPM数据库表说明
2009-09-28 18:09 1055JBPM数据库表说明 -
中文乱码问题解决,过滤器配置,get post提交乱码,filter,struts乱码,jsp乱码
2009-09-25 18:25 1262http://heisetoufa.iteye.com/blo ... -
JBoss JBPM 实践系列(一)--- 安装配置(Tomcat 6.0 + MySQL 5.1)
2009-09-25 02:02 724http://zhaipuhong.iteye.com/blo ... -
常用网站
2009-06-17 00:35 0http://www.dojochina.com/ ... -
如何卸载和安装Wscript.Shell,FSO和stream对象
2008-11-23 00:16 1767据需要不同我们经常会卸载和安装Wscript.Shell,FS ... -
javascript调用本地的exe程序
2008-11-23 00:00 2394http://dayone.iteye.com/blog/16 ... -
log4j配置文件
2008-11-18 14:02 1110log4j.rootLogger=error,stdout l ... -
Java内存泄漏分析
2008-11-13 19:34 1994http://www.51testing.com/html/9 ... -
JAVA内存泄漏——内存泄漏原因和内存泄漏检测工具(zt)
2008-11-13 19:33 2149http://www.blogjava.net/galaxyp ... -
解决JfreeChart柱状图数值显示在柱子顶端的问题
2008-11-13 16:04 11957http://topic.csdn.net/u/2008061 ... -
主题:通过GC输出分析内存泄露问题
2008-11-12 17:44 0http://www.iteye.com/post/70863 ... -
详解MANIFEST.MF文件
2008-10-26 23:19 777http://www.java3z.com/cwbwebhom ... -
JAR 文件揭密
2008-10-26 23:19 788http://www-128.ibm.com/develope ...
相关推荐
"LuceneTest.rar" 是一个压缩文件,包含了使用Apache Lucene库的示例代码。Lucene是一个高性能、全文本搜索库,它为开发者提供了在Java应用程序中实现高级搜索功能的能力。 **描述解析:** 描述指出,这个压缩包中...
《LuceneTest:简明索引操作应用指南》 在信息技术领域,搜索引擎技术扮演着至关重要的角色,而Apache Lucene是Java平台上的一个开源全文检索库。它为开发者提供了强大的文本搜索功能,使得构建自己的搜索引擎变得...
《深入理解LuceneTest检索》 LuceneTest是基于Apache Lucene的一款测试工具,它主要用于帮助开发者在实际项目中快速理解和应用Lucene的检索功能。Lucene作为一个强大的全文搜索引擎库,广泛应用于各种需要高效信息...
lucenetest.rar,lucene,全文检索,lucene例子 lucenetest.rar,lucene,全文检索,lucene例子lucenetest.rar,lucene,全文检索,lucene例子
相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean, 配置一些messageconverter。即解决了@Controller注解的使用前提配置。
在这个名为 "luceneTest" 的项目中,我们可以看到作者正在对 Apache Lucene 进行一些实践性的测试和探索。 首先,让我们深入了解 Apache Lucene 的核心概念: 1. **索引(Indexing)**:在 Lucene 中,数据不是...
压缩包中的"LuceneTest"可能是一个包含示例代码的项目,用于演示如何使用Lucene 4.9进行索引构建和查询操作。通常,这样的项目会包含以下部分: 1. 文档读取:读取待索引的数据源,如文件、数据库或网络资源。 2. ...
在这个压缩包文件中,包含了一个名为"LuceneTest"的文件,这很可能是基于Apache Lucene库的一个示例程序。 Apache Lucene是一个开源全文检索库,由Java编写,为开发者提供了构建高效、可扩展的搜索功能所需的各种...
《Lucene 3.6.1 入门与实践指南》 Lucene 是一个高性能、全文本搜索引擎库,被广泛应用于各种系统...通过深入学习和实践“LuceneTest”中的示例,开发者可以迅速掌握Lucene的核心功能,并将其灵活应用到自己的项目中。
描述中的"luceneTest"可能是指一个示例项目或者测试代码,可能是博主在iteye博客上分享的一个具体实例,目的是通过实际操作来解释Lucene的工作原理。博文链接虽无法直接访问,但我们可以通过通常的Lucene入门步骤来...
"LuceneTest"很可能是一个包含源代码的Java工程,其中可能有以下部分: - 主类:启动程序,创建索引或执行查询的核心类。 - 文档类:定义待索引的数据结构,通常包含文本字段和其他元数据。 - 索引器:使用...
2. "LuceneTest.Web" 可能是一个Web应用程序项目,展示了如何在ASP.NET Web环境中使用Lucene进行搜索功能的实现。这可能包括了索引创建、查询执行和结果展示的相关代码。 3. "DictSeg" 文件名暗示可能存在一个字典...
在压缩包中的 “LuceneTest” 文件很可能是包含了一个简单的 Lucene 示例应用,可能包含了创建索引、添加文档、搜索和读取索引的示例代码。通过运行和分析这个示例,可以更好地理解 Lucene 的工作原理和使用方式。 ...
在提供的 `LuceneTest` 文件中,可能包含了示例代码,用于演示如何使用 Lucene 进行索引的创建、增加、更新和删除。这些代码通常会包含以下步骤: 1. 初始化 `Directory` 对象,这将指向索引存储的位置。 2. 创建 `...
在给定的文件“luceneTest”中,可能包含了示例代码或者配置文件,这通常包括以下几个步骤: 1. 初始化索引目录:创建一个FSDirectory对象,指定用于存储索引的物理路径。 2. 创建索引写入器:使用...
"LuceneTest"可能是这个学习示例中的主程序或测试类,它可能包含了实现上述搜索功能的代码示例。在这个文件中,你可能会看到如何创建索引、如何构建查询、如何执行搜索、如何处理结果以及如何进行排序的具体实现。 ...
这个压缩包“LuceneTest2”很可能是作者自己编写的一系列关于 Lucene 的代码示例,包含了对 Lucene 常用操作的实践和注解。 1. **Lucene 的基本概念** - **索引**:Lucene 首先将文档内容转化为倒排索引结构,便于...
- `LuceneTest`可能是这个项目的主要测试类,它可能包含创建索引、查询索引以及展示结果的代码示例。 - 学习该项目,应关注如何实例化`Directory`(如`FSDirectory`)、选择合适的`Analyzer`(如`StandardAnalyzer...
这个“LuceneTest”项目就是一个基础的Lucene应用实例,它展示了如何在Eclipse环境中搭建、运行和调试Lucene搜索功能。通过这个例子,你可以更好地理解Lucene的工作原理,为后续更复杂的搜索应用打下基础。