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

lucene 如何实现定时更新索引
如题,lucene是如何实现定时更形索引的,有哪些方法?
哪些方法比较简单一些?
请高手指点。

------解决方案--------------------
Lucene有增量索引这一方式的,也可以使用定时全部索引。

Lucene的compass比较好用,简单些。如果需要例子给我留言,我发给你。
------解决方案--------------------
Compass整合入Spring 中配置索引方式
XML code
    <!-- 同步更新索引 -->
    <bean id="compassGps" class="org.compass.gps.impl.SingleCompassGps" init-method="start" destroy-method="stop">
        <property name="compass" ref="compass" />
        <property name="gpsDevices">
            <list>
                <bean class="org.compass.spring.device.SpringSyncTransactionGpsDeviceWrapper">
                    <property name="gpsDevice" ref="hibernateGpsDevice" />
                </bean>
            </list>
        </property>
    </bean>
    <bean id="compassTemplate" class="org.compass.core.CompassTemplate">
        <property name="compass" ref="compass" />
    </bean>
    <!-- 定时重建索引(利用quartz)或随Spring ApplicationContext启动而重建索引 -->
    <bean id="compassIndexBuilder" class="cn.zc.service.impl.CompassIndexBuilder" lazy-init="false">
        <property name="compassGps" ref="compassGps" />
        <property name="buildIndex" value="true" />
        <property name="lazyTime" value="10" />
    </bean>

------解决方案--------------------
这个不难吧,自己写个
1. 完成更新索引的程序;这个相信你已经写完了
2. 用定时任务触发这个更新程序;quartz或timer实现。
------解决方案--------------------
1.quartz
2.solr 貌似有。。忘了。
------解决方案--------------------
sorry。solr好像没有定时的设置,只是搜索服务器而已。。。
------解决方案--------------------
收藏啦!
太短了!
------解决方案--------------------
1 首先可以用quartz实现定时
2 用compass实现
------解决方案--------------------
做个系统定时任务也可以。

另:借宝地一问,lucene创建索引的时候好像没有用到分词,能不能查看它创建索引时,将一个记录的倒排索引,都提取出哪些词了?特别是中文词。

这一直是我的一个困惑。
------解决方案--------------------
没用过,不过问题是,当你定时时,是更新所有的,还是部分的.更新所有,如果数据太大,怎么办.
怎么更新修改或删除的数据的索引
------解决方案--------------------
我也一直在思考这个问题!
------解决方案--------------------
看了大家的想法,受益颇多,感谢感谢。
------解决方案--------------------
我也在学习lucene
想做个搜索引擎
希望那位大虾指教指教
------解决方案--------------------
之前好似看JE上有人说,一周更新所有索引.每天更新部分索引(我猜是新增的).可对删除,修改索引的更新就不知道了.Solr是可以更新,不过看它的过程相当复杂,没去用.
------解决方案--------------------
我是做的个windows services 
把要更新的数据库列的ID (比如一条新闻的内容修改了 就把这个新闻的ID丢过去)
存到一个表A
服务每X秒 去读一次 把表A所有的记录 加到一个队列 然后一个个去更新索引文件
------解决方案--------------------
lucene 索引的更新其实是先删除 旧的索引编号记录 然后在添加新的索引记录
每周末服务设定一次优化索引操作
------解决方案--------------------
Lucene有增量索引这一方式的,也可以使用定时全部索引。 

Lucene的compass比较好用,简单些。如果需要例子给我留言,我发给你。
------解决方案--------------------