elasticsearch查询是否会触及数据库?

时间:2014-11-03 19:26:21

标签: elasticsearch full-text-search

刚刚开始使用postgres在django中使用了haystack的elasticsearch,到目前为止我对它非常满意。

我想知道通过ES的搜索查询(过滤器)是否会向数据库提交查询,还是他们使用索引期间收集的数据?

1 个答案:

答案 0 :(得分:0)

鉴于我可以删除数据库中的数据并仍然搜索,答案似乎是肯定的,查询不会触及数据库但只触及索引。

另外,我在这个问题上找到了这个文件: http://django-haystack.readthedocs.org/en/latest/best_practices.html#avoid-hitting-the-database

此外,这也来自the docs

  

例如,利用这一点的一个好方法是预渲染   对象的搜索结果模板在索引期间。你定义一个   附加字段,使用它渲染模板,它跟随主要   将索引记录到索引中。然后,当拉动该记录时   它匹配一个查询,你可以简单地显示该字段的内容,   这避免了数据库命中。: