gpt4 book ai didi

ruby - 太阳黑子/Solr : indexing a time field results in NumberFormatException

转载 作者:数据小太阳 更新时间:2023-10-29 08:16:37 25 4
gpt4 key购买 nike

我正在尝试将时间戳字段添加到我的模型中,以便由 Sunspot/Solr 建立索引。 Solr 对此感到窒息并产生一个 NumberFormatException:

class Book < ActiveRecord::Base
attr_accessible :lastUpdated, :category, :title # etc...

searchable do
text :title
text :category
time :lastUpdated # mysql 'datetime' field
# etc...
end
end

Jun 06, 2012 10:59:10 AM org.apache.solr.common.SolrException log
SEVERE: java.lang.NumberFormatException: For input string: "2012-01-02T03:29:00Z"

我也尝试过使用 date :lastUpdated 得到相同的结果。

考虑到我的模型可能有一些伪造的 lastUpdated 值,我尝试对 Time.now 的结果进行索引,并得到了相同的结果。

我在外部使用 Solr 3.4.0,但使用 sunspot-installer 提供的“内部”Solr 并调整 sunspot.yml 重现了同样的问题因此。我的情况好像很像提到的问题here ,但重新安装 Sunspot/Solr 配置似乎无法解决问题。

编辑:也尝试过 Solr 3.6.0;同样的结果。

最佳答案

我怀疑这是由于 Sunspot 的 type.rb 中的一个错误。 TimeType 将其 indexed_name 定义为“_d”,而不是“_dt”。我在我的模型代码中使用以下方法解决了这个问题:

module Sunspot
module Type
class TimeType < AbstractType
def indexed_name(name) #:nodoc:
"#{name}_dt"
end
end
register TimeType
end
end

关于ruby - 太阳黑子/Solr : indexing a time field results in NumberFormatException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10917077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com