Rails 4搜索选项。有哪些选项可以将完整的HTML网站搜索与ActiveRecord搜索结合起来?

时间:2013-09-14 09:17:54

标签: ruby-on-rails search elasticsearch thinking-sphinx sunspot-solr

我正在寻找一种解决方案,将Google Site Search与Elasticsearch的强大功能结合在一起,用于Rails 4应用程序,最好是作为Rails宝石。

据我所知,最流行的搜索解决方案,ThinkingSphinx,带有轮胎宝石的ElasticSearch,Sunspot Solr以及最后的PostreSQL搜索功能,似乎只处理数据库搜索而且没有页面/ html模板搜索功能。 / p>

如果我有这个错误,那么请纠正我,我会很乐意选择上述之一。

该网站主要包含静态HTML,因此Google Site Search api是显而易见的解决方案,但有一些ActiveRecord结果也应包含在搜索结果中。

如果确实没有一个简单的组合解决方案,那么我将非常感谢如何实现弹性搜索(我的优先AR搜索解决方案)与谷歌网站搜索的合并,其结果恰好包括相同的页面所以页面结果不会重复。

1 个答案:

答案 0 :(得分:1)

要重新解释您的问题,您想将Google Site Search的结果与Sphinx,Solr或Elasticsearch提供的自定义搜索结果结合起来吗?

首先,您无法轻松自定义Google Site Search结果的内容。您可以自定义设计,并可以使用一些JavaScript技巧将其结果与其他数据源“合并”,但我认为该方法不是可维护的,更重要的是可用。

请注意,您可以使用与ActiveRecord实例相同的方式显示Elasticsearch with Tire的搜索结果,所有常用的Rails帮助程序(如url_for等)都可以。评估集成的最简单方法是generate the example application with the Rails template

如果要将ActiveRecord数据的结果与您在站点/应用程序中可能存在的任何静态页面的结果结合起来,那么编写一个简单的爬虫程序并不难,它将检索,解析和索引内容。静态页面并将其存储为Elasticsearch中与ActiveModel兼容的文档。