我收到此错误NoMethodError: undefined method 'any' for #<Sunspot::DSL::Search:0x000000037a8070>

当我尝试按照文档进行操作时。 https://github.com/sunspot/sunspot#disjunctions-and-conjunctions

Post.search do
  any do
    fulltext "keyword1", :fields => :title
    fulltext "keyword2", :fields => :body
  end
end


我正在使用最新版本的黑子2.1.1
我在架构XML中使用defaultOperator="OR",并且我希望将两个结果都进行AND处理。
如果我可以使用AND在两个查询之间添加adjust_solr_params但它有很多条件,例如增强精确匹配和其他部分,检查到特定的文本字段,则可以使用。
我想通过完全匹配来提高记录的质量,它也应该给出ngram结果。
因此,由于与完全匹配的结果进行AND运算,因此当前ngram结果无法提供。任何建议,我怎么能做到这一点。

最佳答案

根据此issue,在2.1.1版本发布后,全部添加。

您的版本的文档没有以下方法:https://github.com/sunspot/sunspot/tree/v2.1.1

因此,为了使用所有|您应该使用边缘版本或等待下一个版本。

关于ruby-on-rails - 黑子的合取和析取不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27549779/

10-10 13:06