Joh*_*ohn 5 django django-queryset
我正在使用Django查询过滤器__search来执行全文搜索,例如
MyModel.objects.filter(title__search = 'some title')
Run Code Online (Sandbox Code Playgroud)
如何根据相关性对其进行排序,因为目前它似乎按字母顺序排序?
具体来说,我想搜索结果,标题some title首先出现在有标题的东西之前a different but contains some title.
编辑:
我注意到的是,在MyModel的模型定义中,我有:
class Meta:
ordering = ['title']
Run Code Online (Sandbox Code Playgroud)
如果我删除它,那么排序变得正确,即按相关性排序.那么有没有一种方法可以将它留在模型定义中,因为它在其他地方很有用但是在我的查询中告诉它忽略它?
尝试:Model.objects.all().order_by().search()-不带任何参数调用 order_by 根本不进行排序。
除此之外:我会赞同 Carl 对 Haystack 的推荐,特别是因为它允许更复杂的事情,比如词干(“dance”将匹配“dances”、“dancers”和“dancing”)、faceting(“向我显示用户和数量”)。每个搜索结果的点击次数”),获取与您当前显示的对象相似的对象等。当我上次尝试 Whoosh 时,它不稳定(即在索引期间崩溃),但它需要相当短的时间才能启动Solr,这太棒了。
| 归档时间: |
|
| 查看次数: |
3073 次 |
| 最近记录: |