试图找出这是一个错误还是设计。当没有为查询指定query_string时,SearchResults对象不按请求的列进行排序。例如,这里是一些记录,借以说明问题:仅当query_string不为空时才应用sort_options?
结果上return index.search(query)
返回未:
query_string = ''
sort_options string: search.SortOptions(expressions=[search.SortExpression(expression=u'firstname', direction='ASCENDING', default_value=u'')], limit=36)
结果返回的有序上return index.search(query)
:
query_string = 'test'
sort_options string: search.SortOptions(expressions=[search.SortExpression(expression=u'firstname', direction='ASCENDING', default_value=u'')], limit=36)
这是我如何构造我的这两种情况下查询(options
有limit
,offset
和sort_options
参数):
query = search.Query(query_string=query_string, options=options)
你读这已经? http://code.google.com/p/googleappengine/issues/detail?id=7456&q=index%20direction&colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log(只是出于好奇,因为在这个例子中他也有一个空的搜索查询) –
谢谢你指出我。看起来这是dev_server的错误。随时让这个答案。 – HorseloverFat
已完成,但在确认它是否为错误之前在线进行测试 –