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()的结果。
答案 0 :(得分:2)
可以使用自定义 FieldBridge 来完成。在实现FieldBridge接口时,您自己的代码负责将值添加到Lucene文档中,因此在实践中您可以编写任何您想要的内容。