微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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