如果我必须在弹性搜索上设计一个GET API,那么如果Elastic中还没有数据,那么它应该查询后备DB并查看该记录是否存在。
我们需要考虑这个问题的主要原因是因为DB和Elastic之间存在几秒钟的延迟,并且GET调用将被多次调用以使其直接命中DB。
有什么想法吗?我现在正在使用spring-data-elasticsearch。
答案 0 :(得分:0)
如果您使用Elastic进行搜索,请将其保留为仅弹性。我建议如果数据不存在则重新索引(从Elastic中删除特定数据,如果存在,然后再从数据库(Jpa)中保存)。你的弹性需要与Jpa一致。无论如何,你仍然想继续它,然后创建一个if条件为null,如果它来了,然后搜索JPA存储库。