2017-05-30 50 views
0

我已經創建了一個自定義分析器,我想現在是默認分析器。 我的分析器看起來像:Hibernate Search無法設置默認分詞器

@AnalyzerDef(name="customanalyzer", 
tokenizer = @TokenizerDef(factory = WhitespaceTokenizerFactory.class), 
filters = { 
    @TokenFilterDef(factory = LowerCaseFilterFactory.class), 
}) 

它工作的很好。但我必須寫在每個實體

@Analyzer(definition = "customanalyzer") 

我不想。

於是,我把我分析了我的application.yml 它完美的過濾器,但沒有爲分詞

我application.yml樣子:

spring: 
    ... 
    jpa: 
    hibernate: 
     ... 
    properties: 
     hibernate: 
     search: 
      default: 
      directory_provider: filesystem 
      indexBase: [removed] 
      analyzer: 
      tokenizer: WhitespaceTokenizerFactory <-- this line is not working 
      filter: LowerCaseFilterFactory 

有人可以幫助我? 在此先感謝

回答

2

您可以設置默認的分析儀使用配置屬性所有實體:

hibernate.search.analyzer=customanalyzer 
+0

真。你不能定義標記器/過濾器/等。在你的配置屬性中,只能引用現有的分析器定義(在你的案例中是「customanalyzer」)或分析器實現(例如「org.apache.lucene.analysis.standard.StandardAnalyzer」)。 –

+0

感謝你們倆 – Robert