太阳黑子Rails - 在全文搜索中获得匹配的子字符串

时间:2013-12-09 09:18:22

标签: ruby-on-rails string solr sunspot

我需要你的帮助。我想在全文太阳黑子搜索中获取匹配的字符串。 这就是我的代码目前的样子

search2 = WebsiteEntry.search do
    fulltext params[:q]
  end

  search2.each_hit_with_result do |hit, res|
    @match = <Here I need your Help, i need the substring on which sunspot made a hit>
    @results.push SearchResult.new(res, hit.score, @match)
  end
end

现在,如果我正在搜索单词“test”,那么太阳黑子会查找“test”是子字符串并且不区分大小写的所有内容。 例如:太阳黑子返回匹配的单词“FirstTest”或“TEST2”或“testit”。

是否可以获得匹配的字符串?我需要太阳黑子击中的绳子

从“FirstTest”中需要点击“测试”。因为我想显示太阳黑子成立比赛的地方。所以,从“FirstTest”我需要子串“测试”。从“TEST2”我需要“TEST”等等。

谢谢。

1 个答案:

答案 0 :(得分:0)

我现在有解决问题的方法。 “hit” - “each_hit_with_result”函数中的Objekt返回一个带有匹配子串的列表,称为“突出显示”

search2 = WebsiteEntry.search do
    fulltext params[:q] do
      highlight :domain
    end
  end

  search2.each_hit_with_result do |hit, res|
    hit.highlight(:domain).format { |word| puts "highlight: "+word}

不,我从每个匹配的字符串形成全文搜索。问题是,我没有将我的属性标记为突出显示。 THX