Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 如何使用太阳黑子solr(ROR)在两个表上执行搜索_Ruby On Rails_Ruby On Rails 3_Solr - Fatal编程技术网

Ruby on rails 如何使用太阳黑子solr(ROR)在两个表上执行搜索

Ruby on rails 如何使用太阳黑子solr(ROR)在两个表上执行搜索,ruby-on-rails,ruby-on-rails-3,solr,Ruby On Rails,Ruby On Rails 3,Solr,我刚开始学习ROR,我需要帮助 我有两个表,我需要用太阳黑子solr搜索它们。搜索可能会查找公司和标题之类的内容,因此,如何使用sunspot solr ROR组织搜索两个表 第2.rb节 标题/_search.html.erb 在变量@headsear中,您同时拥有两个对象:Heading对象和Section对象 如果要将这些结果分成两个变量,可以调用搜索方法两次: @headings = Heading.search {fulltext params[:search]} @sections

我刚开始学习ROR,我需要帮助

我有两个表,我需要用太阳黑子solr搜索它们。搜索可能会查找公司和标题之类的内容,因此,如何使用sunspot solr ROR组织搜索两个表

第2.rb节

标题/_search.html.erb


在变量@headsear中,您同时拥有两个对象:Heading对象和Section对象 如果要将这些结果分成两个变量,可以调用搜索方法两次:

@headings = Heading.search {fulltext params[:search]}
@sections = Section.search {fulltext params[:search]}
另一种解决方案是只搜索标题,并使用与小节的关系:

您需要将节数据索引到标题类中,如下所示: 标题.rb

在此之后,当节的名称与搜索参数匹配时,结果将包含所有与标题对象相关的内容

希望这有帮助

Sunspot.search Heading, Section do
  fulltext params[:search]
end
def index
  @sections = Section.all
  @headings = Heading.all
  @search = Sunspot.search(Heading, Section) do
    fulltext params[:search]
  end
  @headsear = @search.results
end

def show
  @se = Section.all
  @sections = Section.all
  @headings = Heading.find(params[:id])
  @sections = Section.find(params[:id])
end
<%= form_tag headings_path, :method => :get do %>
  <p>
    <%= text_field_tag :search, params[:search] %>
    <%= submit_tag "Search", :name => nil %>
  </p>
<% end %>
@headings = Heading.search {fulltext params[:search]}
@sections = Section.search {fulltext params[:search]}
class Heading < ActiveRecord::Base
  belongs_to :section
  searchable do
    text :name
    text :address
    text :phone
    text(:section_name) { section.name }
  end
end
Sunspot.search Heading, Section do
  fulltext params[:search]
end