WEB开发网
开发学院软件开发Java 再谈compass----集成站内搜索 阅读

再谈compass----集成站内搜索

 2009-09-21 00:00:00 来源:WEB开发网   
核心提示: 3.自动建立索引的java bean Java代码/***通过quartz定时调度定时重建索引或自动随SpringApplicationContext启动而重建索引的Builder.*会启动后延时数秒新开线程调用compassGps.index()函数.*默认会在Web应用每次启动时重建索引,可

3.自动建立索引的java bean

Java代码  

/** 
 * 通过quartz定时调度定时重建索引或自动随Spring ApplicationContext启动而重建索引的Builder. 
 * 会启动后延时数秒新开线程调用compassGps.index()函数. 
 * 默认会在Web应用每次启动时重建索引,可以设置buildIndex属性为false来禁止此功能. 
 * 也可以不用本Builder, 编写手动调用compassGps.index()的代码. 
 * 
 */ 
public class CompassIndexBuilder implements InitializingBean {  
  // 是否需要建立索引,可被设置为false使本Builder失效. 
  private boolean buildIndex = false; 
 
  // 索引操作线程延时启动的时间,单位为秒 
  private int lazyTime = 10; 
 
  // Compass封装 
  private CompassGps compassGps; 
 
  // 索引线程 
  private Thread indexThread = new Thread() { 
 
    @Override 
    public void run() { 
      try { 
        Thread.sleep(lazyTime * 1000); 
        System.out.println("begin compass index..."); 
        long beginTime = System.currentTimeMillis(); 
        // 重建索引. 
        // 如果compass实体中定义的索引文件已存在,索引过程中会建立临时索引, 
        // 索引完成后再进行覆盖. 
        compassGps.index(); 
        long costTime = System.currentTimeMillis() - beginTime; 
        System.out.println("compss index finished."); 
        System.out.println("costed " + costTime + " milliseconds"); 
      } catch (InterruptedException e) { 
        e.printStackTrace(); 
      } 
    } 
  }; 
 
  /** 
   * 实现<code>InitializingBean</code>接口,在完成注入后调用启动索引线程. 
   * 
   * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet() 
   */ 
  public void afterPropertiesSet() throws Exception { 
    if (buildIndex) { 
      indexThread.setDaemon(true); 
      indexThread.setName("Compass Indexer"); 
      indexThread.start(); 
    } 
  } 
 
  public void setBuildIndex(boolean buildIndex) { 
    this.buildIndex = buildIndex; 
  } 
 
  public void setLazyTime(int lazyTime) { 
    this.lazyTime = lazyTime; 
  } 
 
  public void setCompassGps(CompassGps compassGps) { 
    this.compassGps = compassGps; 
  } 
} 

上一页  1 2 3 4 5 6 7  下一页

Tags:compass 集成 搜索

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接