我正在寻找一种解决方案,将Google Site Search与Elasticsearch的强大功能结合在一起,用于Rails 4应用程序,最好是作为Rails宝石。
据我所知,最流行的搜索解决方案,ThinkingSphinx,带有轮胎宝石的ElasticSearch,Sunspot Solr以及最后的PostreSQL搜索功能,似乎只处理数据库搜索而且没有页面/ html模板搜索功能。 / p>
如果我有这个错误,那么请纠正我,我会很乐意选择上述之一。
该网站主要包含静态HTML,因此Google Site Search api是显而易见的解决方案,但有一些ActiveRecord结果也应包含在搜索结果中。
如果确实没有一个简单的组合解决方案,那么我将非常感谢如何实现弹性搜索(我的优先AR搜索解决方案)与谷歌网站搜索的合并,其结果恰好包括相同的页面所以页面结果不会重复。
答案 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兼容的文档。