我正在测试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'时,结果集始终未排序:
item 4
item 3
item 1
item 2
所有文档项都已正确返回,但从未排序。
只有在我对函数进行编码以对结果对象进行排序时才有效:
results = sorted(results, key=lambda k: k.order_id)
但是,一旦排序已经是查询对象的参数,它看起来不是正确的方法。
我会感谢大家的任何线索。
答案 0 :(得分:2)
您是否在本地开发服务器上尝试此操作?根据{{3}},方向功能在本地不起作用,但在部署时应按预期工作。