使用Lucene 2.31 索引 Oracle 10g的数据库
使用Lucene 2.31 索引 Oracle 10g的数据库
1,使用主要技术:
Lucene 2.3.1
IK_CAnalyzer 1.4 中文分词
HtmlParser 1.6 HTML文件/文本解析器 缺点:不能忽略的内容
2,其他实现方法:
每天做对每类做增量索引 索引内容:类型,URL,TEXT内容,标题,作者,时间。
3,在Oracle 10g上建表:
-- Create table
create table IZ_SEARCH_ENGINE
(
ID NUMBER not null,
INDEX_DIR VARCHAR2(50),
TYPE VARCHAR2(500), 类型
TYPE_DESC VARCHAR2(50), 类型注释
TABLE_MAXVALUE VARCHAR2(50), 某表最大值
TABLE_SQLS CLOB, (最某表没有被索引的SQL语句,如select .... from XXX where id>#ID# , #ID# 取自TABLE_MAXVALUE )
STATUS VARCHAR2(20) default 'offline', 暂时无用
TYPE_TRUETYPE VARCHAR2(50) 暂时无用
)
4,,建立索引的JAVA关键代码:
String INDEX_DIR = “/home/xue24_index_book”; //指定索引目录
IndexWriter writer = new IndexWriter(INDEX_DIR, new IK_CAnalyzer(), true); //准备索引区,并指定分词分析器
Document doc = new Document(); //实例化新document
doc.add(new Field(“type”, “社区”, Field.Store.YES, Field.Index.TOKENIZED)); //为document设置字段:type
doc.add(new Field(“title”, “标题标题” Field.Store.YES, Field.Index.TOKENIZED)); //为document设置字段:title
writer.addDocument(doc); //将该document加入索引目录
writer.optimize(); //优化
writer.close(); //关闭索引
5,搜索的JSP关键代码:
String INDEX_DIR_BOOK = "/home/xue24_index/book";
String INDEX_DIR_BBS = "/home/xue24_index/bbs";
Searcher[] searchers=new Searcher[2];
searchers[0] = new IndexSearcher(INDEX_DIR_BOOK);
searchers[1] = new IndexSearcher(INDEX_DIR_BBS);
Searcher searcher = new MultiSearcher(searchers);
MultiFieldQueryParser queryParser = new MultiFieldQueryParser(new String[] {"title","content","author" }, new IK_CAnalyzer());
Query query = queryParser.parse(keyword); //分析查询
Hits hits = searcher.search(query);// 搜索索引
out.println(“共找到结果:”+hits.length());
for(int i=0;i
out.println(“标题:” +doc.get("title") );
}
6,再写一个linux cron 定期执行,或用quartz插件来完成增量索引。
Lucene 的详细介绍:请点这里
Lucene 的下载地址:请点这里

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

oracle查看表属于哪个表空间的方法:1、使用“SELECT”语句,并通过指定表名来查找指定表所属的表空间;2、使用Oracle提供的数据库管理工具来查看表所属的表空间,这些工具通常提供了图形界面,使得操作更加直观和方便;3、在SQL*Plus中,可以通过输入“DESCRIBEyour_table_name;”命令来查看表所属的表空间。

如何使用PDO连接到Oracle数据库概述:PDO(PHPDataObjects)是PHP中一个操作数据库的扩展库,它提供了一个统一的API来访问多种类型的数据库。在本文中,我们将讨论如何使用PDO连接到Oracle数据库,并执行一些常见的数据库操作。步骤:安装Oracle数据库驱动扩展在使用PDO连接Oracle数据库之前,我们需要安装相应的Oracl

oracle只取一条重复的数据的步骤:1、使用SELECT语句结合GROUP BY和HAVING子句来查找重复数据;2、使用ROWID删除重复数据,可以确保删除的是精确的重复数据记录,或者使用“ROW_NUMBER()”函数删除重复数据,这将删除每组重复数据中的除了第一条记录之外的其他记录;3、使用“select count(*) from”语句返回删除记录数确保结果。

如何使用PHP扩展PDO连接Oracle数据库导语:PHP是一种非常流行的服务器端编程语言,而Oracle是一款常用的关系型数据库管理系统。本文将介绍如何使用PHP扩展PDO(PHPDataObjects)来连接Oracle数据库。一、安装PDO_OCI扩展要连接Oracle数据库,首先需要安装PDO_OCI扩展。以下是安装PDO_OCI扩展的步骤:确保

实现PHP和Oracle数据库的数据导入在Web开发中,使用PHP作为服务器端脚本语言可以方便地操作数据库。Oracle数据库作为一种常见的关系型数据库管理系统,具备强大的数据存储和处理能力。本文将介绍如何使用PHP将数据导入到Oracle数据库中,并给出相应的代码示例。首先,我们需要确保已经安装了PHP和Oracle数据库,并且已经配置好了PHP对Orac

如何高效地使用PHP和Oracle数据库的连接池引言:在开发PHP应用程序时,使用数据库是必不可少的一部分。而在与Oracle数据库交互时,连接池的使用对于提高应用程序的性能和效率至关重要。本文将介绍如何在PHP中高效地使用Oracle数据库连接池,并提供相应的代码示例。一、连接池的概念及优势连接池是一种管理数据库连接的技术,它通过事先创建一批连接并维护一个

oracle数据库需要jdk,其原因是:1、当使用特定的软件或功能时需要包含在JDK中的其他软件或库;2、需要安装Java JDK才能在Oracle数据库中运行Java程序;3、JDK提供了开发和编译Java应用程序的功能;4、满足Oracle对Java函数的要求,以帮助实现和实现特定功能。

oracle查询表空间大小步骤:1、使用数据库管理员账号登录到Oracle数据库;2、使用“SELECT”语句来查看空间列表;3、查询表空间大小有3种方法:使用dbms_utility包查询、使用dba_segments视图查询、使用dba_data_files视图查询;4、使用“DBMS_OUTPUT.PUT_LINE”函数或者其他显示结果的方法来显示查询结果。
