使用Thinking Sphinx进行多个索引的全局搜索
Thinking Sphinx是一个基于Sphinx搜索引擎的Ruby on Rails插件,它可以帮助开发者在Rails应用中实现高效的全文搜索功能。Thinking Sphinx支持多个索引的全局搜索,即在多个索引中同时搜索相关内容。
全局搜索的实现方法:
ThinkingSphinx::Index.define :article, :with => :active_record do
# fields
indexes title, content
# attributes
has created_at
end
ThinkingSphinx::Index.define :user, :with => :active_record do
# fields
indexes name, email
# attributes
has created_at
end
ThinkingSphinx.search
方法进行全局搜索,例如:results = ThinkingSphinx.search "search keyword", :indices => [:article, :user]
result.class
来判断结果属于哪个模型,例如:results.each do |result|
case result.class.to_s
when "Article"
puts result.title
when "User"
puts result.name
end
end
推荐的腾讯云相关产品:
产品介绍链接地址:
云+社区沙龙online第5期[架构演进]
云+社区技术沙龙[第14期]
Elastic 中国开发者大会
Elastic 实战工作坊
Elastic 实战工作坊
Elastic 中国开发者大会
云+社区技术沙龙[第17期]
小程序·云开发官方直播课(数据库方向)
Elastic 中国开发者大会
Elastic Meetup
领取专属 10元无门槛券
手把手带您无忧上云