Dej*_*ell 1 java hibernate hibernate-search
我正在使用Hibernate。我正在寻找一个自由文本引擎。
在进行调查之前,我需要您的经验。
我的应用程序中有用户,角色和对象表。用户连接到一个或多个角色,而角色连接到一个或多个对象的地方。
在我的自由文本搜索中,用户只能访问对象表允许他观看的数据。
Hibernate搜索可以帮助我吗?
根据您描述的模型外观,Hibernate Search将能够轻松为您提供所需的内容。
听起来您正在寻找嵌入式索引和过滤器的组合。我假设对象和角色之间存在多对多关系。如果是这样,您可能在对象中有以下内容:
@ManyToMany
@JoinTable(name = "object_role",
joinColumns = @JoinColumn(name = "object_id"),
inverseJoinColumns = @JoinColumn(name = "role_id"))
private Set<Role> roles = new HashSet<Role>();
Run Code Online (Sandbox Code Playgroud)
要使用这些角色并将其嵌入到为Object创建的索引中,您只需将其放在@IndexedEmbedded(prefix = "somPrefixName")上方@ManyToMany。
然后,您可以定义一个过滤器,使用@FullTextFilterDef该过滤器查看此嵌入式索引,并按给定角色(可能是运行搜索的用户角色)进行过滤。这将确保搜索查询仅返回与给定角色相关的对象。
简而言之,Hibernate Search将能够提供您所需的内容(假设我正确理解了您的要求)。如果您愿意,我很乐意提供更多详细信息。
| 归档时间: |
|
| 查看次数: |
816 次 |
| 最近记录: |