Elasticsearch动态或强制映射错误

时间:2014-02-18 07:38:51

标签: php nested mapping elasticsearch

我以下列格式嵌套了孩子:

"product" : {
   "skus" : [{"bestbuy.com" : "bsku123"},
             {"otherretail.com" : "somerandomsku111"},
             {"somesite.com" : "48043s"}]
}

由于源站点/ sku组合是一种自由格式,导入器在导入N条记录后会不断中断,并显示与此类似的错误消息:

nested: ElasticSearchParseException[failed to parse date field [48043s], 
tried both date format [dateOptionalTime], and timestamp number]; nested:
IllegalArgumentException[Invalid format: \"48043s\" is malformed at \"s\"]

显然它发生了,因为其中一条记录可能在日期格式中添加了一个sku,迫使该特定供应商将其值自动化为日期格式

如何为所有skus。*命名的键/值对覆盖此自动日期映射格式?或者是否有更好的格式来存储我需要的所有数据 - 供应商+供应商特定的SKU?

我尝试在映射中设置它,但它没有改变一件事:

'skus.*' => array( 'index'  => 'not_analyzed',
                   'type'   => 'string' ),

任何帮助将不胜感激。