Отображение поля поиска в спящем режиме - PullRequest
3 голосов
/ 21 ноября 2011

В аннотации Hibernate Search @Field есть возможность выбрать индексное имя для свойства:

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

В руководстве пользователя говорится об этом свойстве name аннотации @Field:

name: опишите, под каким именем свойство должно храниться в Lucene Document.Значением по умолчанию является имя свойства (в соответствии с соглашением JavaBeans)

Есть ли способ присвоить имени другое значение из аннотированного компонента?

Что-то вроде

...
public String getFieldName() {
   return fieldName;
}

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

, где {fieldName} будет заменено результатом getFieldName ().

1 Ответ

2 голосов
/ 17 мая 2013

Это можно сделать с помощью пользовательского FieldBridge . При реализации интерфейса FieldBridge ваш собственный код отвечает за добавление значения в документ Lucene, поэтому на практике вы можете писать все, что захотите.

Документация FieldBridge

...