我有一个为我的Rails3应用程序编写的站点范围的自定义搜索控制器,并希望包括网站的WordPress博客的结果。在我的Rails应用程序中,对帖子执行关键字搜索的最佳方式是什么?
发布于 2012-11-05 11:31:39
如果您共享数据库,那么只需对其使用SQL查询即可。这个解决方案提供了直接数据库查询的速度,但您需要正确地构造该查询,以便获得所有相关数据。
如果您无法从Rails应用程序访问WP数据库,那么最好的方法将是使用curl、httparty、RestClient或任何其他文件检索库。
为此,使用自定义模板创建Wordpress页面,该页面将以最适合您在Rails应用程序中解析的格式(json、xml、csv、urlencoded等)输出搜索结果。
然后使用curl/RestClient/httparty…从你的Ruby应用程序请求WP页面
此解决方案为您提供了WP模板标记和函数的功能,以获得结果。
此外,您可以简单地复制和调整核心模板中的search.php,以Rails应用程序所需的格式提供结果,而不是从头开始创建自定义模板。
使用此解决方案,您将缺乏直接访问数据库的速度,因为所有搜索结果都必须通过http管道传输,并且您必须处理数据两次(在WP中编码为正确的格式,在Rails应用程序中解码)。
发布于 2012-11-07 05:11:56
有趣的问题。我想我会这样做:
发布于 2012-11-09 21:28:16
选项1.是对两个站点都使用搜索引擎,比如elasticsearch,solr等,所以你可以从rails和wordpress中填充索引。
选项2.编写脚本,定期读取wordpress RSS并将数据保存在rails应用程序中。
最后,你应该避免从不同的来源进行搜索,你应该将数据收集到一个地方,然后再进行搜索。
https://stackoverflow.com/questions/13114081
复制相似问题