当前位置: 首页 > 知识库问答 >
问题:

hibernate en vers hibernate-search:通过Lucene/elastic search索引读取审计信息

公孙弘深
2023-03-14

我在应用程序中使用hibernate-envers进行审计。我还使用hibernate-search来搜索/读取应用程序中JPA实体的信息。

我想知道是否有某种配置/集成可以使hibernate envers与审计实体/表一起工作,也可以与索引一起工作,以便使用hibernate-从索引中搜索信息。

我希望避免“手动”执行,例如,使用envers事件侦听器,以便为被审计实体手动创建/操作新的索引,使用新的JPA实体模拟审计实体信息,包括@Indexed注释、字段等。).

理想情况下,想知道是否支持开箱即用的 envers/search 集成,无需自定义开发,以实现将所有审核信息存储在新的_aud索引中。

提前致谢,任何建议都值得赞赏。

共有1个答案

东郭淇
2023-03-14

这当然不可能是开箱即用的。

如果这成为可能,你将不会从所有的Envers特性中受益,比如“在这个版本中给我这个实体”。您将简单地索引每个实体的所有修订,并且您将只能查询(和检索)这些修订。例如“获取id为< code>1的实体的所有修订,其中< code>name包含< code >“某些文本”。

此外,这不会消除对审计表的需求。除审计表外,还将存在索引。

话虽如此,我只是尝试了一下,我们只需要做一些更改就可以在Hibernate搜索6中实现它。如果您仍然感兴趣,可以在那里看一看:https://hibernate.atlassian.net/browse/HSEARCH-4238

 类似资料:
  • 你好,我是新来的卢森我已经创建了使用卢森索引。但是当我从索引中搜索时,我能够得到一个查询词和文件名的出现,这些文件包含查询词。我无法查看我创建了索引的文件的内容,有人能帮忙吗,请提前感谢 我正在使用此代码读取索引。

  • 当我搜索“#”等特殊字符时,没有结果出现。 请注意,我已经转义了查询字符串。 然而,当与“c#”这样的字母组合时,Lucene找到了这个词。 有没有办法搜索单个特殊字符? 这是我的片段:

  • 我可以使用Lucene查询ElasticSearch索引吗? 我使用ElasticSearch创建了一个索引,并插入了以下三个文档: null 不幸的是,d.get(“_source”)也返回null。 如何检索匹配查询的文档字段? 谢谢你。

  • 问题内容: 我们允许客户在创建索引时定义自定义分析器。我们希望在json中指定此名称,以通过基础的ElasticSearch文档提供最大的灵活性和可理解性。 我想使用对json字符串中定义的分析器,映射器等的任意描述来创建索引。凭感觉,我的命令是 理想情况下,我的代码看起来像 这里的帖子试图通过实例化IndexSettings然后调用Add(“analysis”,json)来实现此目的,但是Add

  • 当我在索引器()上显式调用,那么索引中的所有内容都与预期的一样。它包含字段、、和。 但是,当我现在通过调用Spring Data类的类进行更新时,索引只在更改的直接字段(例如名称或描述)时更改。将某些内容更改为实例不会更新索引。你知道为什么会这样吗? 请注意,我已经尝试向父级添加反向引用。对于: 对于: 但这于事无补。 我使用的是Spring Boot1.0.1,其中包括Hibernate4.3.

  • bugu-mongo 2.x版本集成了Lucene的功能。当往MongoDB中新增一个Document时,能自动为该Document建立Lucene索引。相应的,当MongoDB中的Document被修改、删除时,对应的Lucene索引也会修改、删除。 另外,bugu-mongo还提供了对Lucene搜索的支持。根据Lucene索引进行搜索的时候,搜索结果能自动转换成对应的Entity对象。 在L