Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rails中的多个表中进行Solr搜索_Ruby On Rails_Solr - Fatal编程技术网

Ruby on rails 在rails中的多个表中进行Solr搜索

Ruby on rails 在rails中的多个表中进行Solr搜索,ruby-on-rails,solr,Ruby On Rails,Solr,我有三个表格,分别是品牌、网站和商品类别。我想同时在所有三个表中执行搜索功能。我使用solr执行搜索。以前我一次搜索一个。这意味着,如果用户输入“阿迪达斯”,则我在品牌表中搜索,如果未获得,则我在站点表中搜索,等等。根据获得的结果,我在其他一些表格中搜索,比如使用品牌id或站点id或类别id的main_nav_url,并从main_nav_url表格中获取所需的列。后来我遇到了这种冲突,比如如果“阿迪达斯”的名字同时出现在品牌和网站表中,我只能得到品牌的搜索结果 请帮助我解决这个问题,我可以同时

我有三个表格,分别是品牌、网站和商品类别。我想同时在所有三个表中执行搜索功能。我使用solr执行搜索。以前我一次搜索一个。这意味着,如果用户输入“阿迪达斯”,则我在品牌表中搜索,如果未获得,则我在站点表中搜索,等等。根据获得的结果,我在其他一些表格中搜索,比如使用品牌id或站点id或类别id的main_nav_url,并从main_nav_url表格中获取所需的列。后来我遇到了这种冲突,比如如果“阿迪达斯”的名字同时出现在品牌和网站表中,我只能得到品牌的搜索结果

请帮助我解决这个问题,我可以同时在所有三个表中搜索,根据获得的结果提取他们的品牌id和站点id类别id,并在主导航url表中再执行一次搜索

我得到了答案

分别执行solr搜索以检索其品牌id、站点id和类别id。将相应id存储在数组中。比如说

@storesearch.results.each do |result|
    siteids << result.id
end
@storesearch.results.each do| result|
SiteID你好,请参阅“搜索gem”搜索gem它有助于使用“高级搜索查询”同时使用多表搜索数据。请参阅rails cast:370教程。