使用Hibernate Search 6:如何禁用特定实体的自动索引?
在Hibernate Search 6中禁用特定实体的自动索引
当然可以,Hibernate Search 6针对单个实体提供了手动索引的配置方式,替代旧版全局的hibernate.search.indexing_strategy = manual配置,具体操作如下:
给目标实体添加手动索引配置
在实体类的@Indexed注解里指定indexing = Indexing.MANUAL,示例代码:@Indexed(indexing = Indexing.MANUAL) public class YourTargetEntity { // 实体字段定义 }配置后,Hibernate Search将不再自动监听该实体的增删改事件来同步索引,所有索引操作都需要你自行通过API处理。
手动操作索引的示例
你可以通过SearchSession提供的API手动管理索引:// 新增或更新实体索引 searchSession.indexingPlan().addOrUpdate(yourEntityInstance); // 删除实体索引 searchSession.indexingPlan().delete(yourEntityInstance); // 执行所有待处理的索引操作 searchSession.indexingPlan().execute();
这样就完成了单个实体的自动索引禁用,完全由你掌控索引的更新时机。
内容的提问来源于stack exchange,提问作者Rick Gagne
相关产品推荐
相关产品推荐

