- 浏览: 1042163 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
Lucene3在建立索引的API上有比较大的变化。直接上程序:
package lucene3;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
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.FSDirectory;
import org.apache.lucene.util.Version;
import com.indexdb.Config;
import com.indexdb.DataBase;
public class DBIndex {
/**
* @param args
*/
public static Connection DBConn = null;
public static Statement Stmt = null;
public static ResultSet Rs = null;
public static String strArgs[] = new String[10];
public static DataBase db = null;
public static Config config = new Config();
public static boolean dbflag=false;
public static File INDEX_DIR = new File("d://lucene3");
public static boolean initDBConn()
{
try {
System.out.println("开始数据库连接...");
Class.forName("com.mysql.jdbc.Driver");
DBConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf-8","root","root");
System.out.println("数据库连接成功...");
dbflag=true;
} catch (Exception e) {
e.printStackTrace();
}
return dbflag;
}
public static void main(String[] args) {
if(initDBConn())
{
String sql = "select ID,Name from kindergarden_user";
Date start = new Date();
try
{
IndexWriter writer = new IndexWriter(FSDirectory.open(INDEX_DIR),
new StandardAnalyzer(Version.LUCENE_CURRENT),
true, //true为覆盖原index;false为追加
IndexWriter.MaxFieldLength.LIMITED);
System.out.println("Indexing to directory '" + INDEX_DIR + "'...");
Stmt = DBConn.createStatement();
Rs = Stmt.executeQuery(sql);
while(Rs.next())
{
Document doc = new Document();
Field f1 = new Field("ID",Rs.getString("ID"),Field.Store.YES,Field.Index.ANALYZED);
Field f2 = new Field("Name",Rs.getString("Name"),Field.Store.YES,Field.Index.ANALYZED);
doc.add(f1);
doc.add(f2);
writer.addDocument(doc);
}
System.out.println("Optimizing...");
writer.optimize(); //优化索引
writer.close();
Date end = new Date();
System.out.println(end.getTime() - start.getTime() + " total milliseconds");
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
}
创建索引的主要步骤:
1、先指定要搜索的文件(从数据库中搜索做为测试数据)和存放索引文件的目录(INDEX_DIR )
2、创建IndexWriter-需要提供索引目录、使用的Analyzer等。Analyzer用于解析文本内容,拆分成单词,这里我使用的是lucene自带的分词器。
3、递归遍历所有数据,生成Document,每一个文件对于一个Document。
4、将Document逐个加入索引
5、关闭IndexWriter,保存索引信息
说明:
1、索引文件可存放在目录或内存中,分别使用FSDirectory和RAMDirectory
2、每个Document类似与索引中的一行记录,具体的字段由Field标识,我这里加入了2个Field,分别是ID和NAME
3、Field中的枚举字段
Field.Store.YES表示此字段内容需要在索引中保存
Field.Index.NOT_ANALYZED表示此字段内容不需要做分词
几个基本对象间的关系如下图:
发表评论
-
使用Lucene-Spatial实现集成地理位置的全文检索
2015-05-27 17:33 1266Lucene通过Spatial包提供了对基于地理位置的 ... -
Lucene4.10.2开发之高亮显示
2015-05-05 23:13 563转载请注明,原创地址,谢谢配合! http://qindo ... -
bobo-browse
2011-02-10 10:22 2225bobo-browse 是一款用java写的lucene扩展组 ... -
Lucene 2 通过updateDocument更新索引
2010-12-30 15:47 2032package com.lucene; i ... -
Lucene 3建立索引和查询索引详解
2010-12-22 23:02 1817public void index() throws Corr ... -
Lucene3 查询索引
2010-12-22 22:46 1748package lucene3; import java.i ... -
Lucene 3.0的简单解析及变化
2010-12-22 21:59 1115一、 概述 Lucene3 ... -
Lucene分词器之庖丁解牛
2010-12-22 07:47 3454注意:这里配置环境变量要重新启动系统后生效 我现在测试 ... -
Lucene从结果中取出数据
2010-12-21 20:23 1201有些应用,比如我们首先要搜索一个Person的索引文件,然后通 ... -
Lucene过滤器
2010-12-21 20:05 3774有的应用有些要求,对于某类型的内容即使满足条件了,但是也不能被 ... -
Lucene对于短语匹配查询的用法
2010-12-21 17:41 1345通常对于ID查询或者是比较确定字段内容的查询,我们就用: T ... -
Lucene 对所查的结果进行排序
2010-12-20 23:01 1197前面介绍完查询以后,现在要对查询结果进行排序的显示。 代码: ... -
Lucene 搜索方法(模糊搜索)
2010-12-20 11:54 3452LUCENE提供了一种模糊搜 ... -
Lucene 搜索方法(多短语搜索)
2010-12-20 11:42 1157短语搜索解决了短语搜索的问题,在很多情况下,用户输入某个关键字 ... -
Lucene 搜索方法(短语搜索)
2010-12-20 11:15 1794用户在搜索的时候,更多的情况是输入一个以上的关键字,这些关键字 ... -
Lucene 搜索方法(前缀搜索)
2010-12-20 10:27 1859PrefixQuery是一种前缀搜索,在检索的时候,常常需要进 ... -
Lucene 的索引读取工具(IndexReader)
2010-12-19 23:00 1587Lucene有一个很重要的工具IndexReader负责对索引 ... -
Lucene 搜索方法(范围搜索)
2010-12-19 22:54 1271在某些情况下,用户需要查找一定范围内的文档,比如时间,ID等。 ... -
Lucene 搜索方法(布尔搜索)
2010-12-19 22:04 1596布尔搜索: 布尔查询的对象中,包含一个子句的集合。各种子句间都 ... -
Lucene 搜索方法(词条搜索)
2010-12-19 21:15 1241词条搜索是LUCENE最为简单的一种搜索方式,通过对某个固定的 ...
相关推荐
lucene 对 xml建立索引 建立索引就是怎么简单 呵呵
利用Lucene.net做的建立索引,检索分页
lucene
lucene建立数据库索引的问题,在这里,把其中的一些问题补充说明,希望对大家有新的帮助,希望大家相互提出问题,相互学习,共同进步!!
本源码演示了Lucene结合Sql建立索引,把Sql中的数据通过建立索引用Lucene来检索 【该源码由51aspx提供】 源码 " onerror="this.src='/images/ifnoimg.gif'" src="/uploads/allimg/090904/1039152O5-0.jpg...
Lucene(这里用到的是Lucene.net版本也成为DotLucene)是一个...本源码演示了Lucene结合Sql建立索引,把Sql中的数据通过建立索引用Lucene来检索 支持简单的中文分词,同时提供了Lucene.Net-2.0-004版本的源码给大家
用lucene对数据库建立索引及搜索.doc
Lucene结合Sql建立索引Demo源码 Lucene(这里用到的是Lucene.net版本也成为DotLucene)是一个信息检索的函数库(Library),利用它你可以为你的应用加上索引和搜索的功能. Lucene的使用者不需要深入了解有关全文检索的...
基于lucene 2.4简单的一个索引和搜索实例
最简单的Lucene建立、搜索索引的方法,工程基于Myeclipse10
用Lucene检索文本,建立索引,用struts构建web程序框架
使用lucene,建索引。倒排索引现在在搜索引擎涌出很大,本工程为入门提供参考
关于Lucene对数据操作,详细信息请见文档
Lucene建立索引jar包和Paoding庖丁分词jar包,Lucene结合Paoding庖丁分词创建索引索引jar包汇总
主要将如何使用Lucene建立索引以及搜索进行了代码的实现,有利于初学者熟悉Lucene的基本功能。
iTextPDFExtractor.java ------ ...--PDFBox创建PDF文件的Lucene索引 PDFBoxPathIndex.java ------- --PDFBox创建指定目录PDF文档索引 POIOfficeExtractor.java ----- -- POI处理Excel和Word文档代码
用LUCENE连击MYSQL建立索引并搜索的JAVA代码。里面有建立索引的详细步骤。
该程序代码属于本人2015所写,虽然尚有不足,却实现了对多个文件夹下的数据进行Lucene建立索引和查询功能,并包含了所需的所有jar包,工程直接导入即可运行。
商业源码-编程源码-Lucene结合Sql建立索引Demo源码.zip