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

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

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

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

过滤选项

在:位置

谁是:性取向

年龄间:年龄范围

和位于:国家

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

有没有一个gem可以轻松地做到这一点并同时表现良好?

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

亲切的问候

除了使用Sphinx和Thinking Sphinx之外,你还可以想到那些gem: meta_where和meta_search

但是在阅读完你的描述后,我认为Sphinx确实是最好的选择。

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

你可以去Elasticsearch。 Ruby拥有’Tire’gem,它是ElasticSearch的客户端http://www.elasticsearch.org/