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) 

しかし、ソートがすでにクエリオブジェクトの引数になっていると、それは適切な方法ではないようです。

あらゆる種類の手がかりをありがとうございました。

4

1 に答える 1

2

ローカル開発サーバーでこれを試していますか? このチケットによると、方向機能はローカルでは機能しませんが、展開すると期待どおりに機能するはずです。

于 2012-07-05T14:56:28.443 に答える