`
- 浏览:
79898 次
- 性别:
- 来自:
信阳
-
仿百度文库这个小项目中,文档信息分别存入数据库和lucene
JavaBean:docInfo | OracelTable:DOC_INFO | comment | luceneIndex |
docId | DOC_ID | 主键ID | docId |
userId | USER_ID | 用户ID | userId |
logId | LOG_ID | 用户名 | logId |
title | TITLE | 文档名 | title |
summary | SUMMARY | 文档简介,查询列表下的几行小字 | summary |
mime | MIME | 文档后缀名 | mime |
createTime | CREATE_TIME | 文档创建时间 | createTime |
hits | HITS | 点击次数 | hits |
无 | 无 | 文档内容 | context |
其中hits更新很频繁,数据库可以承受,但是lucene的更新时删除原索引然后重新创建,这个频繁的更新并不是很好。
全文检索查询的只是lucene,并不去查数据库,lucene不更新,就无法做到实时。
最普通的做法:先更新索引,再更新数据库,这样能实时,但是显然还是很慢。特别是索引文件很大的时候。
用Job任务定时执行:索引文件的更新只能用线程定时根据条件触发更新。这样带来的问题是做不到实时。新增的数据用不到索引会很慢。
建立缓存:加一层缓存,数据结构根据业务定,hashmap也好,treemap也好,新增的数据放入缓存,等到缓存满一定容量的时候去触发线程更新索引文件。
查询的时候顺序是索引,缓存。先全文检索索引,再查缓存看有没有改变,然后将改变封装进来。
这样就不会因为索引的更新而影响效率了。
是不是很痛苦!
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
lucene 近实时搜索 很清楚的解释了关于lucene近实时搜索的代码。很值得学习
Lucene 实时搜索,视频详解,带课程文档,Lucene 实时搜索
实时搜索引擎源码LUCENE 实时搜索引擎源码LUCENE 实时搜索引擎源码LUCENE
lucene建立数据库索引的问题,在这里,把其中的一些问题补充说明,希望对大家有新的帮助,希望大家相互提出问题,相互学习,共同进步!!
lucene+zoie近实时索引demo lucene+zoie近实时索引demo
lucene实例lucene实例lucene实例lucene实例lucene实例lucene实例lucene实例lucene实例lucene实例
1) 提供实时索引的创建、管理 2) Query的创建 详细介绍参照博客:http://blog.csdn.net/xiaojimanman/article/details/20624739 中的介绍
lucene,lucene教程,lucene讲解。 为了对文档进行索引,Lucene 提供了五个基础的类 public class IndexWriter org.apache.lucene.index.IndexWriter public abstract class Directory org.apache.lucene.store....
lucene3.0 lucene3.0 lucene3.0 lucene3.0 lucene3.0
lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习lucene学习...
一共3个一个专业搜索公司关于lucene+solar资料(1)
2019/2/20 上午10'07关于Lucene的词典FST深入剖析 | 申艳超-博客第 1 页(共 19 页)2019/2/20 上午10'07关于Luce
Lucene3.0特性Lucene3.0特性
本课程由浅入深的介绍了Lucene4的发展历史,开发环境搭建,分析lucene4的中文分词原理,深入讲了lucenne4的系统架构,分析lucene4索引实现原理及性能优化,了解关于lucene4的搜索算法优化及利用java结合lucene4实现...
本文主要是研究了全文检索技术的基本原理以及Lucene的架构和工作原理,并介绍了基于Lucene的实时全文检索引擎的设计实现过程。并提供了一个基于Web的简单实现。最后通过实验的方式,对实现的实时全文检索引擎的性能...
一个关于lucene实例初学者入门的好东东
lucene学习教程lucene讲义 叫你用lucene算法
lucene3源码分析
Lucene使用的一个Demo,包括索引的创建、增加、更新、删除等
有关Lucene的问题(8):用Lucene构建实时索引的文档更新问题[整理].pdf