我已经用thinking_sphinx gem 更新了我的搜索字段记录并且我已经配置了它。它工作正常,但问题是,它只显示默认的 20 条记录。如何更改这些东西以使更多记录在视图中可见..
问问题
1176 次
4 回答
4
中微子几乎是正确的……
首先,值得注意的是,Sphinx(以及 Thinking Sphinx)总是对请求进行分页,默认页面大小为 20。如果您想更改它,您可以传入:per_page => 30
或类似参数以获取每页的记录数你想要。
Model.search 'foo', :per_page => 42
其次,Sphinx(默认)将可用搜索结果的总数默认限制为 1000。这就是 Neutrino 所指出的——如果你设置了 max_matches,你可以增加这个值。但是,您还需要:max_matches
在搜索调用中指定一个值。
Model.search 'foo', :max_matches => 10_000
当您更改文件中的值时,您将需要停止/重新索引/重新启动config/sphinx.yml
- 有一个 rake 任务可以执行此操作:
rake ts:rebuild
这将确保生成的配置文件是最新的,并且 Sphinx 守护进程知道这些更改。
于 2010-06-22T13:48:31.010 回答
1
在控制器中
@sphinx = Ad.search(params[:search], :per_page => 1000)
这对我有用。
于 2013-03-04T08:00:29.243 回答
0
在您的config/sphinx.yml
(如果您还没有,请创建一个)添加以下内容:
development:
max_matches: 10000
# ... repeat for other environments
有关更多信息,请参阅文档。
于 2010-06-22T11:55:39.633 回答
0
我尝试了所有方法来获取 20 多个结果。
在配置文件中,我将 max_matches 设置为 1000,
然后它也只给了我 20 个结果。
然后我尝试了:per_page => 200,然后我得到了更多的结果。
感谢帮助。
于 2011-07-01T09:06:55.553 回答