【问题标题】:Searching with Sunspot returns all results in db使用 Sunspot 搜索会在 db 中返回所有结果
【发布时间】:2011-06-10 11:16:21
【问题描述】:

在 StreamPage 中我已经定义了这个代码用于搜索

searchable do
    text :html, :stored => true, :boost => 2
    integer :stream_id
end

我有 44 条记录并在此设置上使用了重新索引

s = StreamPage.search do |st|
    st.keywords 'fsdgsfdgdffsdfgsfdgfd'
end

因此,即使我运行上面的代码,我也会得到所有记录,任何我写入关键字的内容都会得到结果。

【问题讨论】:

  • Sunspot 记录 sunspot-solr-XXX.log 上的所有查询。请发布发送到服务器的查询。

标签: ruby-on-rails ruby sunspot sunspot-rails


【解决方案1】:

您的搜索语句可能有问题。您是否尝试过使用这种语法?

s = StreamPage.search { keywords('fsdgsfdgdffsdfgsfdgfd') }

我的猜测是使用 st 局部变量会搞砸事情。我还将通过运行以下命令来验证所有内容是否已正确编入索引:

bin/rake sunspot:reindex

【讨论】:

  • 两种方法我都试过了。最奇怪的是,在模型 Stream 上我得到了正确的信息,它是相同的可搜索定义,只是定义了其他字段。
  • 您确定 StreamPage#html 函数返回的要索引的文本正确吗?
  • 是的。确实如此。我发现了问题,在配置中使用词干会导致错误突出显示
猜你喜欢
  • 1970-01-01
  • 2012-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多