如何解决如何使用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 举报,一经查实,本站将立刻删除。