2017-05-30 19 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