使用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
推荐的腾讯云相关产品:
产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云