【问题标题】:Sunspot/Solr not able to search by boolean value太阳黑子/Solr 无法按布尔值搜索
【发布时间】:2012-11-06 09:21:12
【问题描述】:

我有一个带有布尔字段的 RoR 模型:

field :active, :type => Boolean

在可搜索块中列出的内容:

searchable do
  boolean :active

而且在搜索查询中:

s = Document.search do
  with(:active, true)
end

在我的 Solr schema.xml 文件中:

<field name="active_b" type="boolean" indexed="true" stored="true"/>

问题是我的搜索并未将结果限制为仅将活动设置为 true 的文档。这在我的本地开发环境中有效,但在 Heroku 中无效。

有什么想法吗?

【问题讨论】:

  • RoR 中的字段不应该是 active_b 吗??
  • 尝试将您的 schema.xml 上传到 heroku。如果 heroku 使用不同的 schema.xml。或者尝试在 heroku 上重新索引您的数据...
  • 我在使用布尔值时遇到了同样的问题,但我没有使用 Heroku。你得到这份工作了吗?

标签: ruby-on-rails heroku solr sunspot websolr


【解决方案1】:

如果它正在开发中,那么这是部署或 Heroku 问题,而不是 solr/sunspot 问题。

来自 Heroku 文档 https://devcenter.heroku.com/articles/websolr

Websolr 在http://websolr.com/ 提供了一个控制面板,您可以在其中对索引进行更改,例如添加或删除不同的 Solr 功能、选择不同的 Solr 客户端、提供您自己的 schema.xml 等等。

您需要将 schema.xml 上传到 Websolr。

【讨论】:

  • 这是正确的。进行更改后,您还需要重新索引。来源:我操作 websolr :)
【解决方案2】:

对我来说,这是一个使用问题

with :deleted, false

当它显然需要时:

with :deleted, 0

不知道你是否和我有同样的问题。

【讨论】:

    猜你喜欢
    • 2014-09-19
    • 1970-01-01
    • 2014-03-29
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    相关资源
    最近更新 更多