拉拉维尔。从 ElasticSearch 获取模型数据的最佳做法是什么?

时间:2021-05-26 08:58:20

标签: php laravel rest elasticsearch search

映射数据然后检索它的最佳方法是什么?

首先映射所有模型字段,然后创建另一个 Elasticsearch Repository 并从 ElasticSearch 中完全检索它。这里的问题是,您应该复制数据并通过请求传递更多数据。

作为第二种方法,仅映射可搜索字段,从 Elastic 检索模型 ID,然后从本地数据库收集数据。但是在这里你必须检索到许多字段,并且向本地数据库发出缓慢的 Where In 请求。

请帮助我了解最常见、最实用的方法是什么。

1 个答案:

答案 0 :(得分:0)

取决于您的问题或用例。

  1. 如果您将更改的数据(在 DB 中)与 elasticsearch 同步很简单,或者如果同步对您来说并不重要,那么您可以索引并从 elasticsearch 本身获取您需要的所有数据。 否则,您可以只索引可搜索的数据并从数据库中检索所有必需的(和最新的)数据。这为您省去了将所有更改同步到 elasticsearch 的麻烦。此外,根据您的问题,这可能不是什么大问题。
  2. 取决于您希望存储的数据大小以及部署 elasticsearch 的成本。如果数据大小不是问题,您可以只考虑案例 1。
  3. 我想添加更多,但你明白了吗?