Javascript 使用ScriptUpdateProcessor将时间(毫秒)转换为Solr日期格式

Javascript 使用ScriptUpdateProcessor将时间(毫秒)转换为Solr日期格式,javascript,datetime,solr,solr6,Javascript,Datetime,Solr,Solr6,我需要通过solr ScriptUpdateProcessor将一个长数据类型的字段,比如timestamp_ms(例如:1473794840429)转换为solr日期格式yyyy mm ddThh:mm:ssZ 下面是我的solrconfig.xml <processor name="script" class="solr.StatelessScriptUpdateProcessorFactory"> <str name="script">date-update

我需要通过solr ScriptUpdateProcessor将一个长数据类型的字段,比如timestamp_ms(例如:1473794840429)转换为solr日期格式yyyy mm ddThh:mm:ssZ

下面是我的solrconfig.xml

<processor name="script" class="solr.StatelessScriptUpdateProcessorFactory">
    <str name="script">date-update.js</str>
</processor> 
-date2存储为字符串数据类型

当我重新加载core和post文档时,我得到以下错误:

org.apache.solr.common.SolrException:RunUpdateProcessor收到一个AddUpdateCommand,其中包含一个似乎仍然包含原子文档更新操作的文档,​ 很可能是因为DistributedUpdateProcessorFactory已从此updateRequestProcessorChain显式禁用

如何解决此问题?

要求启用Solr,因此首先要确保在solrconfig.xml中设置了updateLog配置:

<updateLog>
  <str name="dir">${solr.ulog.dir:}</str>
</updateLog>

${solr.ulog.dir:}
要求启用Solr,因此首先要确保在solrconfig.xml中设置了updateLog配置:

<updateLog>
  <str name="dir">${solr.ulog.dir:}</str>
</updateLog>

${solr.ulog.dir:}

确保js文件中有一个名为finish的函数,如:

function finish(){

}
并确保在处理器之后的solrconfig.xml中添加以下内容,否则根本不会发生更新:

<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />

因此,您的solrconfig.xml如下所示:

 <updateRequestProcessorChain name="mychain" default="true">
      <processor name="script" class="solr.StatelessScriptUpdateProcessorFactory">
        <str name="script">last_reaction_date.js</str>
      </processor> 
      <processor class="solr.LogUpdateProcessorFactory" />
      <processor class="solr.RunUpdateProcessorFactory" />
 </updateRequestProcessorChain>

最后的反应日期.js

确保js文件中有一个名为finish的函数,如:

function finish(){

}
并确保在处理器之后的solrconfig.xml中添加以下内容,否则根本不会发生更新:

<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />

因此,您的solrconfig.xml如下所示:

 <updateRequestProcessorChain name="mychain" default="true">
      <processor name="script" class="solr.StatelessScriptUpdateProcessorFactory">
        <str name="script">last_reaction_date.js</str>
      </processor> 
      <processor class="solr.LogUpdateProcessorFactory" />
      <processor class="solr.RunUpdateProcessorFactory" />
 </updateRequestProcessorChain>

最后的反应日期.js

能否在solrconfig文件中添加已为updateRequestProcessorChain完成的配置?是否在SolrCloud模式下使用Solr?能否在solrconfig文件中添加已为updateRequestProcessorChain完成的配置?是否在SolrCloud模式下使用Solr?