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>
私のdate-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 が、アトミック ドキュメントの更新操作をまだ含んでいるように見えるドキュメントを含む AddUpdateCommand を受け取りました。おそらく、この updateRequestProcessorChain から DistributedUpdateProcessorFactory が明示的に無効にされたためです。
これを解決するにはどうすればよいですか?