Hibernate搜索字段映射

时间:2011-11-21 10:20:01

标签: hibernate full-text-search hibernate-search

Hibernate Search @Field注释提供了为属性选择索引名称的选项:

...
@Field(name="somethingOrOther")
public String getSomeValue() {
...

用户指南说明@Field注释的名称属性:

  

name:描述在哪个名称下,属性应该存储在   Lucene文件。默认值是属性名称(在。之后)   JavaBeans惯例)

有没有办法将名称设置为带注释的bean中的另一个值?

这样的东西
...
public String getFieldName() {
   return fieldName;
}

@Field(name="{fieldName}")
public String getFieldValue() {
   return fieldValue;
}

其中{fieldName}将替换为getFieldName()的结果。

1 个答案:

答案 0 :(得分:2)

可以使用自定义 FieldBridge 来完成。在实现FieldBridge接口时,您自己的代码负责将值添加到Lucene文档中,因此在实践中您可以编写任何您想要的内容。

FieldBridge documentation