任何人都可以推荐一个用于搜索的宝石,实际上可以让我轻松地在轨道上的ruby中过滤我的结果吗?

时间:2012-01-28 10:35:06

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rubygems

在指向那个方向后我尝试过思考狮身人面像,简单的过滤似乎是不可能的。我已经用Google搜索了2天的问题并且似乎无法做到这令人震惊,因为这是在网站上搜索时常见的事情。

我想在搜索表单中添加过滤选项,例如过滤一个或多个组合:

当用户点击浏览页面时,会返回所有网站用户,但每页显示20个结果

过滤选项

位于位置

谁是:性偏好

年龄间:年龄范围

位于:国家/地区

我的搜索页面工作正常,因为我需要的是用户通过电子邮件,用户名或全名查找用户的1个文本字段。我的浏览页面是另一个故事,因为我使用的是一个包含多个文本字段和一个或两个选择字段的表单。

Example

是否有宝石能够轻松完成并同时表现良好?

或者通过find方法手动执行此操作是唯一的方法吗?

亲切的问候

2 个答案:

答案 0 :(得分:0)

你可以去Elasticsearch。 Ruby拥有'Tire'gem,它是ElasticSearch http://www.elasticsearch.org/

的客户端

答案 1 :(得分:0)

除了使用Sphinx和Thinking Sphinx之外,您还可以想到这些宝石:meta_wheremeta_search

然而,在阅读完您的描述之后,我认为Sphinx确实是最好的选择。

您写道,使用Thinking Sphinx进行简单过滤似乎是不可能的。让我在链接中提到的帖子中解释一下Thinking Sphinx:Example