使用Zend Lucene对范围查询进行排序

根据文档,Zend Lucene应该按字典顺序排序。我发现事实并非如此。如果我有一个查询'avg:[050 to 300]',是的,它将返回该范围内的所有值,但它将根据文档ID而不是值对它们进行排序。 我发现find()函数可以接受其他参数,允许我按特定列排序(例如
$hits = $index->find($query, 'avg', SORT_NUMERIC, SORT_ASC);
)。但是,我正在动态创建$ query,并且不希望按'avg'对每个搜索进行排序。 当我进行范围搜索时,如何强制Lucene自动按字典顺序对结果进行排序?如果这不可能,我如何动态地向查找函数添加排序字段?     
已邀请:
$index->find(...)
获得结果后,为什么不自己排序?好吧,这看起来像一个解决方法,对于非常大的结果集来说会非常耗时,但我想这在大多数情况下是最简单的方法。     

要回复问题请先登录注册