2012-07-05 34 views
0

我在測試Google App Angine的全文搜索python api。 的API搜索引擎工作正常,但我不能設法得到有序的結果,下面的描述基本步驟:https://developers.google.com/appengine/docs/python/search/sortexpressionclass如何從全文搜索查詢中排序結果

的搜索功能非常簡單,但sort_options不看任何區別

def FindDocuments(self, query_string, limit): 
    try: 
     sort_options=search.SortOptions(expressions=[search.SortExpression(expression='comment', default_value='',direction=search.SortExpression.ASCENDING)])   
     query_options = search.QueryOptions(limit=limit,sort_options=sort_options) 
     query_obj = search.Query(query_string=query_string, options=query_options) 
     return search.Index(name=_INDEX_NAME).search(query=query_obj) 
    except search.Error: 
     logging.exception('Search failed') 
    return None 

搜索單詞「項目」的結果集總是無序:

item 4 
item 3 
item 1 
item 2 

所有文檔資料的正確恢復,但從未進行排序。

它只有當我編寫的函數來進行排序的結果對象的工作:

results = sorted(results, key=lambda k: k.order_id) 

但它並沒有看起來是正確的方法,一旦排序已經是查詢對象的參數。

我會感謝你們所有的線索。

回答

2

你在你的本地開發服務器上試過這個嗎?根據this ticket,方向功能在本地不起作用,但應在部署時按預期工作。