设为首页收藏本站
查看: 89|回复: 0

[PHP] 使用Lucene2.31索引Oracle10g的数据库

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34274
主题
17031
UID
1347
M币
67
贡献
17176

  • 发表于 2018-7-3 14:35:00 | 显示全部楼层 |阅读模式
    使用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

    6,再写一个linux cron 定期执行,或用quartz插件来完成增量索引。
    Lucene 的详细介绍:请点这里
    Lucene 的下载地址:请点这里
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表