【问题标题】:how to sort results from full text search query如何对全文搜索查询的结果进行排序
【发布时间】:2012-07-05 12:58:23
【问题描述】:

我正在测试 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) 

但是一旦排序已经是查询对象的参数,它看起来就不是正确的方法。

感谢大家提供任何线索。

【问题讨论】:

    标签: python google-app-engine full-text-search


    【解决方案1】:

    您是否在本地开发服务器上尝试此操作?根据this ticket,方向功能在本地不起作用,但在部署时应该按预期工作。

    【讨论】:

      猜你喜欢
      • 2021-08-19
      • 2011-07-13
      • 2014-03-20
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      • 2013-07-10
      • 1970-01-01
      相关资源
      最近更新 更多