Class LuceneConfig

java.lang.Object
com.easydesk.lucene.config.LuceneConfig

@Configuration @EnableScheduling public class LuceneConfig extends Object
Lucene module 을 구성한다. Application 의 @Configuration 에서 @Import(LuceneConfig.class) 로 사용한다.

기존 Avalon component 설정 (componentConfiguration.xml 의 <lucene>) 은 아래 property 로 대체된다.

 easydesk.lucene.index-location=lucene          # <indexLocation> (상대 경로는 working directory 기준)
 easydesk.lucene.analyzer=com.easydesk.lucene.analyzer.CJKAnalyzer   # <analyzer>
 easydesk.lucene.commit-period=60000            # <sleepPeriod> : 주기적인 commit 간격 (msec)
 easydesk.lucene.ram-buffer-size-mb=16
 easydesk.lucene.recreate-incompatible-index=false   # Lucene 4.x index 를 지우고 새로 만들지
 easydesk.lucene.slow-search-threshold=50       # 이 시간(msec) 이상 걸린 검색은 WARN log
 
<version> 설정은 Lucene 10 에서 Analyzer 가 Version 을 받지 않으므로 없어졌다.

주기적인 commit 을 위해 EnableScheduling 을 포함한다.

  • Constructor Details

    • LuceneConfig

      public LuceneConfig()
  • Method Details

    • luceneSearchService

      @Bean public LuceneSearchService luceneSearchService(@Value("${easydesk.lucene.index-location:lucene}") String indexLocation, @Value("${easydesk.lucene.analyzer:com.easydesk.lucene.analyzer.CJKAnalyzer}") String analyzerClass, @Value("${easydesk.lucene.ram-buffer-size-mb:16}") double ramBufferSizeMB, @Value("${easydesk.lucene.recreate-incompatible-index:false}") boolean recreateIncompatibleIndex, @Value("${easydesk.lucene.slow-search-threshold:50}") long slowSearchThreshold, org.springframework.beans.factory.ObjectProvider<MorphologyAnalyzer> morphologyAnalyzer)
      Parameters:
      indexLocation - index root directory
      analyzerClass - analyzer class name (no-arg constructor)
      ramBufferSizeMB - IndexWriter RAM buffer size
      recreateIncompatibleIndex - 이전 version index 를 새로 만들지
      slowSearchThreshold - slow search log threshold (msec)
      morphologyAnalyzer - 한글 형태소 분석기 (optional)
      Returns:
      search service
    • searchClient

      @Bean @Primary public DefaultSearchClient searchClient(SearchService searchService)
      Searchable, LocalSearchable, Indexer 로 주입되는 기본 client.
      Parameters:
      searchService - search service
      Returns:
      search client