Lucene实现在线全文检索的总结
来源:互联网 发布:it 狂人 编辑:程序博客网 时间:2024/04/28 18:52
学习Lucene已经有一段时间了,一直没有记录下学习的过程,但是在使用的过程中自己想出了一个在线全文检索的架构设计方案,好像网上没有类似的方案吧!
我就不描述那些Lucene的基本知识了
如果要实现在线全文检索,大部分学习Lucene没多久会想到下面这个方案:
在用户发送添加或者修改请求的时候,此时同时去添加或者修改索引,这样的方案在对索引操作比较少的时候是可以应付的,但是当对索引操作较多的时候,会出现导致Java
虚拟机崩溃的情况,因为对索引的操作相对而言是比较耗内存的。
我想出的方案是如下
假如有保存某个方法
@InedexBuild //此处是自定义注解
public New save(New new)
{
return new;//需要将new作为返回值
}
下面是一个AOP拦截(使用后置通知)
@AfterReturning(value="execution(* com.readBook.service.*.*(..)) && @annotation(InedexBuild ) ",returning="param")//此处代表扫描哪些带有indexBuild这个注解的方法
public void operateIndex(LuceneIndex luceneIndex,Object param)
{
try {
//在里面保存一条需要建索引的记录到数据库表
TempIndex tempIndex=new TempIndex();
tempIndex.setOperateType(添加..)//设置操作类型代表是添加索引
tempIndex.setIndexId("用来标示索引的")
tempIndex.setType("新闻...");设置类型为新闻
记录一下索引字段信息如 title,content,time等等
最后保存这条tempInidex记录到数据库
} catch (Exception e) {
e.printStackTrace();
}
}
接下来采用 定时器定时去查找这张临时索引表
临时索引表中有记录对索引的操作类型是添加还是修改还是删除等等。。。
自己设定多久查找一次。
每操作一条tempIndex记录就删除一条。。或者采用逻辑删除(此处的好处就是重建索引)
我的相关设计思想就是这些了。。因为写文章写得少,所以写得不太好。。望谅解
- Lucene实现在线全文检索的总结
- lucene全文检索总结 .
- lucene实现全文检索的示例代码
- Lucene:实现数据库的全文检索
- 3、Lucene实现全文检索的流程
- Lucene实现简单的全文检索
- 使用lucene实现简单的全文检索
- Lucene全文检索学习总结
- nutch Lucene 实现全文检索
- lucene全文检索实现流程
- 使用lucene实现全文检索
- 全文检索Lucene的使用
- Lucene:全文检索的基本原理
- Lucene全文检索的基本原理
- 基于lucene的全文检索
- Lucene全文检索的基本原理
- Lucene: 全文检索的基本原理
- Lucene:全文检索的基本原理
- Spring MVC流程
- 【排序总结--插入、快速】
- C实现bitmap位图
- 跨平台的原子操作及简单的循环锁实现
- 关于C++——理解C++默默编写并调用了哪些函数&&函数初始化式(初始化列表相关)
- Lucene实现在线全文检索的总结
- Linux关机命令详解
- JS兼容性问题(FF与IE)
- android线程实现:实时显示所连接的wifi信号强度(代码带注释)
- Linux 启动时进入命令模式与窗口模式等切换
- 图像RGB与YUV转换优化
- 使用JSTL开发
- LeetCode - Multiply Strings
- 详解SQL Server连接(内连接、外连接、交叉连接)