2017-11-13 8 views
0

many-to-one 관계가있는 ActionUser 두 엔티티가 있습니다.
조치를 검색했지만 user full name 패싯이 있지만 데이터베이스에 full_name 열 대신 first_namelast_name이 있습니다.최대 절전 모드 검색을위한 복합 패싯

firstNamelastName을 함께 사용하는 최대 절전 모드 검색에서 결합 된 패싯을 만드는 방법이 있습니까? 또는 검색 인덱스 (패싯 포함)에는 존재하지만 데이터베이스에는 존재하지 않을 결합 된 필드 fullName을 만드는 방법이 있습니까?

매핑은 다음과 같다 :

@Entity 
public class Action { 

    ... 

    @IndexEmbedded 
    private User user; 

} 


@Entity 
public class User { 

    ... 

    @Facet 
    @Field(analyze = Analyze.NO) 
    private String firstName; 

    @Facet 
    @Field(analyze = Analyze.NO) 
    private String lastName; 

} 

답변

2

당신은 당신의 사용자 개체의 방법에 @Facet 및 @Field를 사용할 수 있습니다.

@Facet 
@Field 
public String getFullName() { 
    return new StringJoiner(" ").add(firstName).add(lastName).toString(); 
} 
:

그래서 당신은 뭔가를 정의 할 수 있습니다