【问题标题】:GAE development server keep full text search indexes after restart?GAE开发服务器重启后保留全文搜索索引?
【发布时间】:2013-12-05 09:09:15
【问题描述】:

是否有强制 GAE 开发服务器在重启后保留全文搜索索引?我发现每当重新启动开发服务器时索引都会丢失。

我在启动开发服务器时已经在使用静态数据存储路径(--datastore_path 选项)。

【问题讨论】:

  • 同样的事情发生在我身上。当发生这种情况时,我做了一个方便的处理程序/方法来重新索引所有实体。

标签: python google-app-engine google-cloud-datastore google-search


【解决方案1】:

此功能是在几个版本前添加的(我认为是在 1.7.1 或 1.7.2 中)。如果您使用过去几个月的 SDK,它应该可以工作。您可以尝试在dev_appserver.py 上显式设置--search_indexes_path 标志;默认位置 (/tmp/) 可能不可写。您能否发布启动 dev_appserver 时的前几行日志?

【讨论】:

  • 我尝试使用--search_indexes_path 标志,但没有成功。日志中的相关行是:WARNING 2012-12-17 13:36:04,474 simple_search_stub.py:950] Could not read search indexes from C:\CBFW2_DATA\LOCAL.searchindexes(这是在我将一些数据放入搜索索引,停止然后重新启动开发服务器之后)。我正在运行 SDK 1.7.3。
  • 嗯,这很奇怪。你能发布你用来启动 dev_appserver 的完整命令吗?当您停止提及搜索的开发服务器时,日志中是否有任何行?
  • 这里是我用来启动 dev_appserver.py 的全套选项:--debug --datastore_path=C:\CBFW2_DATA\LOCAL.datastore --default_partition="" --address=localhost --use_sqlite --search_indexes_path=C:\CBFW2_DATA\LOCAL.searchindexes
  • 以下是日志中可能指向问题的条目:ERROR 2012-12-19 09:42:54,936 warnings.py:133] C:\Program Files (x86)\Google\google_appengine\google\appengine\api\search\search.py:3205: DeprecationWarning: consistency is deprecated. GLOBALLY_CONSISTENT is no longer supported. spec_pb.set_consistency(_CONSISTENCY_MODES_TO_PB_MAP.get(index.consistency)
  • 据我所知,我没有将我的索引设置为全局一致。这是我用来添加文档的代码:search.Index(name=self._INDEX_NAME).put(document_to_index)
【解决方案2】:

万一其他人来找这个,看起来简单的解决方案现在是指定

--storage_path=/not/the/tmp/dir

您仍然可以使用 --datastore_path 等覆盖它。

https://developers.google.com/appengine/docs/python/tools/devserver (在页面底部..)

【讨论】:

    【解决方案3】:

    看起来这不再是问题了。根据文档(和我的测试):

    “开发网络服务器使用 文件在您的计算机上。该文件在调用 网络服务器,因此您存储的数据下次仍然可用 你运行网络服务器。”

    如果不是这样,请告诉我,我会跟进。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 2018-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多