2012-07-05 90 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,方向功能在本地不起作用,但应在部署时按预期工作。