【发布时间】:2014-05-01 16:02:31
【问题描述】:
在我的模型中,我只是使用类似的东西:
class Person < ActiveRecord::Base
searchable do
string :middle_name
end
end
我试图搜索的特定对象有一个 :middle_name 属性,其中包含 ''、一个空字符串并且属于 String 数据类型。根据该信息,我假设 Sunspot 还在 Solr 索引中为该字段保存了一个空字符串。
在成功完成Person.reindex 和Sunspot.commit 之后,我尝试在rails 控制台中使用Person.search{with(:middle_name, '')}.results 搜索所述对象,它返回关于Solr 查询语法的400 错误。
然后我环顾四周,发现了一些关于 Person.search{with(:middle_name, "* TO ''")}.results 和 Person.search{without(:middle_name, "* TO *")}.results 之类的查询的信息,它们都返回一个空集:[]。
任何人都知道一种实际可行的方法和/或最好的方法是什么?
【问题讨论】:
-
使用
Utils.escape使上面的代码工作。
标签: ruby-on-rails ruby sunspot sunspot-rails sunspot-solr