如何使用Spring JPA存储库在休眠搜索中手动索引各个实体

问题描述

我们在 ElasticSearch 实现中使用了休眠搜索。批量索引工作正常,在这种情况下,我们使用实体管理器工厂创建全文实体管理器并调用<div class="listing-carousel mx-auto text-center"> <button class="carousel-btn carousel-btn-left"> <i class="fas fa-long-arrow-alt-left fa-2x"></i> </button> <div class="carousel-track-container"> <ul class="carousel-track"> <li class="carousel-slide"> <img class="carousel-image" src="assets/img/featured-1.png" alt="featured-listing-1" /> </li> <li class="carousel-slide"> <img class="carousel-image" src="assets/img/featured-2.png" alt="featured-listing-2" /> </li> <li class="carousel-slide"> <img class="carousel-image" src="assets/img/featured-3.png" alt="featured-listing-3" /> </li> </ul> </div> <button class="carousel-btn carousel-btn-right"> <i class="fas fa-long-arrow-alt-right fa-2x"></i> </button> </div>

自动索引将按预期工作。我们要么创建新实体,然后调用.createIndexer(),要么从存储库中获取它们,进行所需的任何更改,然后调用entityRepository.save()

我们正在尝试设置手动索引,以防集群出现问题,这意味着更新将保存到数据库而不是索引中。我们尝试使实体管理器与上述相同,然后依次调用.save()entityRepository.findById(),但是这会引发一个瞬时对象异常“实例未与此会话关联”。我认为问题是因为我们正在创建一个新的fullTextEntityManager.index(entity)调用索引,但是我不知道我们还能如何调用fullTextEntityManager方法。我们是否需要以某种方式从存储库中获取.index()或会话,并使用它来建立索引?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...