2014-12-02 169 views
1

我有很多索引,而且目前速度很慢,因爲當用戶查詢時,它依次遍歷每個結果,然後附加結果。 indexes = search.get_indexes(index_name_prefix=userDomain, limit=200) domain_indexes = [index for index in indexes if userDomain==str(index.name).split(":")[0] ] for index in indexes: response.append(responseListItem) 這使得它非常慢,問題是我是否可以將它們排除並且並行執行它們,然後合併結果並將響應發回給用戶?App Engine搜索:如何並行搜索多個搜索索引?

+0

是的,你可以同時做這些。有什麼問題? – 2014-12-02 04:58:16

+0

如何將結果合併回來發送給回覆?基本上,一旦我把它們放在任務隊列中,response.append停止工作。 – 2014-12-02 04:59:01

+1

如果您需要響應用戶請求,則不能使用任務隊列。正如德米特里所暗示的那樣,您需要進行一堆異步調用,等待他們的結果,合併結果並回復客戶端。 – 2014-12-02 06:00:54

回答

3

有沒有尚未記錄功能,使搜索API異步調用,就像數據存儲:

https://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/search/search.py#3636

+0

謝謝,關於如何將App Engine升級到此版本的想法?似乎他們擁有它@ 1.9.10? – 2014-12-02 07:06:16

+0

它在生產中已經是最新版本,您只能升級本地開發服務器。 – 2014-12-02 07:07:07

+0

是的,想知道本地主機是否有任何方式可以升級應用程序引擎庫,而無需下載55 MB文件https://cloud.google.com/appengine/downloads – 2014-12-02 07:13:41