7.4.3. 分析
分析
是将文本转换为单个术语(词)的过程,可以视为全文本搜索引擎的主要功能之一。Lucene 利用分析器的概念来控制此过程。在下一节中,我们将介绍 Hibernate 搜索提供的多种方式来配置分析器。
7.4.3.1. 类的默认 Analyzer 和 Analyzer 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
用于索引令牌字段的默认分析器类可通过 hibernate.search.analyzer
属性进行配置。此属性的默认值为 org.apache.lucene.analysis.standard.StandardAnalyzer
。
您还可以为每个实体定义分析器类、属性甚至每个 @Field(在一个属性中索引多个字段时很有用)。
示例:使用 @Analyzer 的不同方式
在本例中,EnityAnalyzer 用于索引令牌化属性(名称
),但 摘要
和 正文
除外,它们分别使用 propertiesAnalyzer 和 FieldAnalyzer 索引。
警告
在同一个实体中混合不同的分析器大部分时候是不良做法。它使查询构建更复杂,结果更难以预测(对于 novice),尤其是如果您使用 QueryParser(对整个查询使用同一个分析器)。作为经验法,对于任何给定字段,应将同一分析器用于索引和查询。