使用Algolia Rails进行多索引搜索// Multisearch

我正在使用algolia搜索我的模型,效果很好。我正在使用rails +活动记录。

目前,每个模型都可以分别搜索,如下所示:

   @places = Place.search(params[:q])
   @events = Event.search(params[:q])
   @authors = Author.search(params[:q])

问题是要获取我的所有结果并显示它们(因为我的搜索可以在任何模型上查看),我需要执行以下操作:

   @results = @places + @events + @authors

这不是我想要的,因为排名不会是100%准确的+我将通过所有匹配的地点,所有事件,然后所有作者获得我的所有结果...直接搜索会更高效在多个索引上

我在algolia文档中发现它可以查看多个索引,问题是我最终得到了很大的哈希,并且完全失去了实际的“对象”

   res = Algolia.multiple_queries([
    { index_name: 'Place_production',query: params[:index_input] },{ index_name: 'Event_production',query: params[:index_input] }
  ])

Returns something like -> [{"hits"=>[{"name"=>"Qualité du musée","description"=>"Museum Quality - Monday - Sunday","objectID"=>"678","_highlightResult"=>{"name"=>{"value"=>"Qualité du.....

我不能再对其进行迭代了……我需要使用哈希,问题是我丢失了实际的“对象”及其所有信息-检索每个记录听起来太复杂了。 我敢肯定有一种更简单的方法吗?

->如何实现我想要的(多重搜索)并最终得到一个很好的实际实例数组,如我的@results?

非常感谢您的帮助

wangch0808 回答:使用Algolia Rails进行多索引搜索// Multisearch

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2935524.html

大家都在问