用于休眠搜索的复合面
Composite facet for hibernate search
我有两个实体:Action
和 User
具有多对一关系。
我搜索操作并希望有一个 user full name
方面,但我有 first_name
和 last_name
.[=20 而不是数据库中的 full_name
列=]
有没有什么方法可以在休眠搜索中创建一个可以同时使用 firstName
和 lastName
的组合面?或者有没有办法创建一个组合字段 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;
}
您可以在用户对象的方法上使用@Facet 和@Field。
所以你可以这样定义:
@Facet
@Field
public String getFullName() {
return new StringJoiner(" ").add(firstName).add(lastName).toString();
}
我有两个实体:Action
和 User
具有多对一关系。
我搜索操作并希望有一个 user full name
方面,但我有 first_name
和 last_name
.[=20 而不是数据库中的 full_name
列=]
有没有什么方法可以在休眠搜索中创建一个可以同时使用 firstName
和 lastName
的组合面?或者有没有办法创建一个组合字段 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;
}
您可以在用户对象的方法上使用@Facet 和@Field。
所以你可以这样定义:
@Facet
@Field
public String getFullName() {
return new StringJoiner(" ").add(firstName).add(lastName).toString();
}