2012-12-19 47 views
8

試圖找出這是一個錯誤還是設計。當沒有爲查詢指定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)

這是我如何構造我的這兩種情況下查詢(optionslimitoffsetsort_options參數):

query = search.Query(query_string=query_string, options=options)

+1

你讀這已經? http://code.google.com/p/googleappengine/issues/detail?id=7456&q=index%20direction&colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log(只是出於好奇,因爲在這個例子中他也有一個空的搜索查詢) –

+0

謝謝你指出我。看起來這是dev_server的錯誤。隨時讓這個答案。 – HorseloverFat

+1

已完成,但在確認它是否爲錯誤之前在線進行測試 –

回答

1

這可能是dev_appserver的錯誤,因爲建議here但可以肯定,你應該在你的Appspot上測試應用程序

+0

是的,我推它住,它按預期工作。謝謝。 – HorseloverFat

-2

可以在你建立的方式中的錯誤你的查詢,因爲它沒有顯示。

可能是因爲您沒有針對無法使用的情況的索引。

+0

1)對於這兩種情況,查詢的構建方式都是相同的,並且在一種情況下結果是排序的,而另一種情況下則不是。所以這似乎排除了這種可能性。 – HorseloverFat

+0

2)兩種情況都使用相同的索引,因此不是根本原因。 – HorseloverFat

相關問題