日期:2014-05-18  浏览次数:20600 次

请问下大家用的站内检索都是用Lucence吗 是和SSH集成的时候插入到数据库里的同时也用Lucence生成索引吗
请问下大家用的站内检索都是用Lucence吗  是和SSH集成的时候插入到数据库里的同时也用Lucence生成索引吗
是这样的吗  大家项目怎么用的啊  求指点
------解决方案--------------------
DB也能搜索,但是DB搜索必须固定列,或者固定某些列。

如果 固定的某些字段搜索不能满足需求,就可以用lucene实现。 

创建索引,这个东西不是说用户一个请求上来,马上触发创建索引的动作,最起码得把所有请求存起来,没事的时候一起创建索引吧

------解决方案--------------------
引用:
Quote: 引用:

DB也能搜索,但是DB搜索必须固定列,或者固定某些列。

如果 固定的某些字段搜索不能满足需求,就可以用lucene实现。 

创建索引,这个东西不是说用户一个请求上来,马上触发创建索引的动作,最起码得把所有请求存起来,没事的时候一起创建索引吧
是啊 我的意思就是数据往数据库里插入的时候就同时用Lucene建立索引了啊  难道不是这样的吗



有两种方式
1 就像你说的,插入数据库的时候,同时建立索引。但是建立索引是一个很重的操作,涉及到索引文件的存储 修改 合并,创建索引的时候还会锁定索引文件,一个正在锁定中的索引文件是不能重复锁定的。如果是分布式存储那问题更多。所以这种方式不推荐。

2 插入数据库的时候,可以同时插入到一个临时表(或者插入到一个共享的缓存汇总),到空闲的时候,有个一应用(或者任务)单独的,批量的,把所以需要建立索引的资源创建索引。我个人认为这样比较好。

这样说的够明白了吗?