我需要通过Solr ScriptUpdateProcessor将长数据类型的字段say,timestamp_ms(例如:1473794840429)转换为solr日期格式yyyy-mm-ddThh:mm:ssZ。使用ScriptUpdateProcessor将时间以毫秒为单位转换为Solr日期格式
下面是我的solrconfig.xml中
<processor name="script" class="solr.StatelessScriptUpdateProcessorFactory">
<str name="script">date-update.js</str>
</processor>
和我的日期update.js是:
function processAdd(cmd) {
doc = cmd.solrDoc; // org.apache.solr.common.SolrInputDocument
var datecheck = doc.getFieldValue("timestamp_ms");
var date1 = new Date(datecheck);
var date2= date1.toUTCString();
doc.setField("tweet_date",date2);
}
-date2存储为字符串数据类型。
当我重新加载内核和文件后,我得到下面的错误:
org.apache.solr.common.SolrException: RunUpdateProcessor has received an AddUpdateCommand containing a document that appears to still contain Atomic document update operations, most likely because DistributedUpdateProcessorFactory was explicitly disabled from this updateRequestProcessorChain
如何解决这个问题?
你能添加你已经在你的solrconfig文件来完成的updateRequestProcessorChain配置? –
您是否在SolrCloud模式下使用Solr? – EricLavault