无法在 SOLR 中索引时间戳
Cannot index timestamp in SOLR
我正在尝试在 SOLR 中索引时间戳。我在 Hive 中有一个名为 date_field 的字段,其类型为 'date'。一旦我尝试使用以下设置对其进行索引:
<field name="date_field" type="date" indexed="true" stored="true" required="false" multiValued="false" />
事实证明,当我尝试编制索引时,我收到一条错误消息,指出无法解析日期类型。我的基础字段是否需要输入时间戳?我的数据是否必须是特定类型才能作为类型日期进行索引才能工作?使这个文本通用或字符串不是解决方案,因为我需要能够在我的 UI
中搜索日期范围等
Solr 期望日期格式为 ISO 格式:YYYY-MM-DDThh:mm:ssZ
如果您提供的内容具有不同的日期格式,您可以使用 solrconfig.xml 中通常配置的 Update Request Processors 进行转换。您可以配置链,或者 - 在最新版本的 Solr 中 - 配置独立处理器(并参考 processor 参数)。
具体的处理器是ParseDateFieldUpdateProcessorFactory,你可以找到它的用法示例part of the "schemaless mode" processing:
<updateProcessor class="solr.ParseDateFieldUpdateProcessorFactory" name="parse-date">
<arr name="format">
<str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
<str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
<str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
<str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
<str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
<str>EEEE, dd-MMM-yy HH:mm:ss z</str>
<str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
</arr>
</updateProcessor>
我正在尝试在 SOLR 中索引时间戳。我在 Hive 中有一个名为 date_field 的字段,其类型为 'date'。一旦我尝试使用以下设置对其进行索引:
<field name="date_field" type="date" indexed="true" stored="true" required="false" multiValued="false" />
事实证明,当我尝试编制索引时,我收到一条错误消息,指出无法解析日期类型。我的基础字段是否需要输入时间戳?我的数据是否必须是特定类型才能作为类型日期进行索引才能工作?使这个文本通用或字符串不是解决方案,因为我需要能够在我的 UI
中搜索日期范围等Solr 期望日期格式为 ISO 格式:YYYY-MM-DDThh:mm:ssZ
如果您提供的内容具有不同的日期格式,您可以使用 solrconfig.xml 中通常配置的 Update Request Processors 进行转换。您可以配置链,或者 - 在最新版本的 Solr 中 - 配置独立处理器(并参考 processor 参数)。
具体的处理器是ParseDateFieldUpdateProcessorFactory,你可以找到它的用法示例part of the "schemaless mode" processing:
<updateProcessor class="solr.ParseDateFieldUpdateProcessorFactory" name="parse-date">
<arr name="format">
<str>yyyy-MM-dd['T'[HH:mm[:ss[.SSS]][z</str>
<str>yyyy-MM-dd['T'[HH:mm[:ss[,SSS]][z</str>
<str>yyyy-MM-dd HH:mm[:ss[.SSS]][z</str>
<str>yyyy-MM-dd HH:mm[:ss[,SSS]][z</str>
<str>[EEE, ]dd MMM yyyy HH:mm[:ss] z</str>
<str>EEEE, dd-MMM-yy HH:mm:ss z</str>
<str>EEE MMM ppd HH:mm:ss [z ]yyyy</str>
</arr>
</updateProcessor>