【问题标题】:elasticsearch/haystack not persisting across server restartselasticsearch / haystack不会在服务器重新启动时持续存在
【发布时间】:2014-02-26 15:08:57
【问题描述】:

我有一个简单的项目,通过 Haystack 将一些 Django 模型索引到 ElasticSearch。如果我重新启动 ElasticSearch 服务器,除非我更新索引,否则我不会从 Haystack 中得到任何结果。

我认为系统应该在 ES 重新启动时保留索引模型,但找不到我可能做错了什么。否则一切正常。

我的查询很简单:SearchQuerySet().order_by('-published').all(),同样在 ES 首次启动时它不会返回任何结果,直到我重新索引/更新索引。

有什么想法吗?

【问题讨论】:

  • 你用的是什么版本的ES,你是怎么重启ES的
  • 1.0.0 通过 systemctl 重启
  • 您可以尝试几件事,安装 head 插件(无论您安装在哪里,sudo elasticsearch/bin/plugin --install mobz/elasticsearch-head),然后看看发生了什么。 2.看一下你的data目录,一般在/var/lib/elasticsearch/看看是不是生成了多个节点(cd到nodes目录下,一般你应该只有一个叫0的目录),有时候重启ES太快了将生成一个新节点,看起来您丢失了数据。 3.你修改过“商店”吗?

标签: python django elasticsearch django-haystack


【解决方案1】:

如果您没有索引大量数据,elasticsearch 可能不会将数据写入磁盘。在重新启动之前尝试“_flush”数据。

在以下文档中很好地描述了“_flush”: http://www.elasticsearch.org/guide/en/elasticsearch/reference/1.x/indices-flush.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 2015-08-19
    • 2012-12-26
    • 2014-06-09
    • 2017-07-25
    相关资源
    最近更新 更多