GAE全文搜索数据在dev服务器重启时被清除

时间:2015-02-27 11:48:30

标签: google-app-engine google-search-api

我正在使用GAE本地服务器进行开发。我存储在数据存储区以及全文搜索中以进行某些特定搜索。当我重新启动本地开发服务器时,数据存储区中的数据将保留在全文搜索索引被清除的位置。这导致我的应用程序中的数据不一致。是否可以在全文搜索中保留索引数据?

1 个答案:

答案 0 :(得分:0)

类似的想法发生在我身上(仅限本地服务器),看起来像' put_async'对我不起作用:

  

search.Index(名称=' myindex&#39)。put_async(search.Document(...))

当我使用' put'文件已存储:

  

id = search.Index(name =' myindex')。put(search.Document(...))

我遇到的第二个问题是,我是从eclipse运行appengine,当你在eclipse中终止app引擎时,它不会保存search_indexes文件!为了解决这个问题,我发现你可以使用pydev调试器运行app引擎,它将在控制台中输出进程pid(使用第一个),然后你就可以发送

  

kill -SIGINT [来自控制台的pid]

就像ctrl-c。 appengine服务器将处理信号并保存search_indexes。

输出在开始时如下所示:

pydev debugger: starting (pid: 7643)
INFO     2015-12-10 06:02:42,308 sdk_update_checker.py:229] Checking for updates to the SDK.
INFO     2015-12-10 06:02:42,527 sdk_update_checker.py:257] The SDK is up to date.
INFO     2015-12-10 06:02:42,852 api_server.py:205] Starting API server at: http://localhost:45081
INFO     2015-12-10 06:02:43,037 dispatcher.py:197] Starting module "default" running at: http://localhost:8080
INFO     2015-12-10 06:02:43,041 admin_server.py:116] Starting admin server at: http://localhost:8000
pydev debugger: starting (pid: 7664)
INFO     2015-12-10 06:02:50,740 module.py:787] default: "GET /_ah/warmup HTTP/1.1" 404 27

发送kill -SIGINT 7643

之后
INFO     2015-12-10 06:21:19,494 shutdown.py:45] Shutting down..
INFO     2015-12-10 06:21:19,546 api_server.py:648] Applying all pending transactions and saving the datastore
INFO     2015-12-10 06:21:19,561 api_server.py:651] Saving search indexes