Yeah, just mentioned this in the other reply - I did try to add the field after I saw the errors.
In the _v4 index, I've update the mapping so that swiped_price is no longer nested to prevent against potential future issues. I will also turn off dynamic mapping on _v4 shortly.
In order to reproduce, try the following:
Create the _v3 index with the attached mapping, BUT remove the swiped_price field from the products mapping.
Insert a document into products matching that format:
{
"name": "Aces Plain Overshirt",
"pid": "acesplainovershirt",
"type": "shirts",
"sku": "1041551812",
"description": "Workwear with a twist! This season, we’ve updated our versatile artisan overshirt. Unlined and crafted from a great herringbone cotton for an authentic utility feel, it also features two useful hand pockets. \n\nUtility Workwear Overshirt\nConstructed from a durable herringbone cotton",
"variant_link_id": "9b7823f16fe81e91031f711a104fb688",
"images": [
"http://cdn.shopify.com/s/files/1/0302/5117/products/RE0353P_Navy_1.jpg?v=1440145870",
"http://cdn.shopify.com/s/files/1/0302/5117/products/RE0353P_Navy_3.jpg?v=1440145870",
"http://cdn.shopify.com/s/files/1/0302/5117/products/RE0353P_Navy_2.jpg?v=1440145870"
],
"brand": {
"_id": "5579a4ddaf95c4cd2f93c12d",
"name": "Realm and Empire"
},
"parent_id": "55dcff6a8856831600188f61",
"primary_category": "outerwear",
"uniform_sort_time": "2015-08-24T15:35:20.260Z",
"buy_url": "http://www.realmandempire.com/collections/outerwear/products/aces-plain-overshirt-navy-re0353p",
"enabled": true,
"sizes": [
{
"_id": "3982334532",
"size": "x small",
"quantity": 15,
"price": {
"currency": "GBP",
"current": 120,
"on_sale": false
}
},
{
"_id": "3982334596",
"size": "small",
"quantity": 15,
"price": {
"currency": "GBP",
"current": 120,
"on_sale": false
}
},
{
"_id": "3982334660",
"size": "medium",
"quantity": 15,
"price": {
"currency": "GBP",
"current": 120,
"on_sale": false
}
},
{
"_id": "3982334724",
"size": "large",
"quantity": 15,
"price": {
"currency": "GBP",
"current": 120,
"on_sale": false
}
},
{
"_id": "3982334788",
"size": "x large",
"quantity": 15,
"price": {
"currency": "GBP",
"current": 120,
"on_sale": false
}
},
{
"_id": "3982334852",
"size": "2x large",
"quantity": 15,
"price": {
"currency": "GBP",
"current": 120,
"on_sale": false
}
}
],
"created_at": "2015-08-25T23:47:23.456Z",
"variants": [],
"interactions": [],
"suggest": [
"shirts",
"Realm and Empire",
"Realm & Empire",
"Realm and Empire shirts",
"navy shirts",
"navy Realm and Empire shirts"
],
"product_url": "http://www.realmandempire.com/collections/outerwear/products/aces-plain-overshirt-navy-re0353p",
"region": "GBR",
"colour": {
"hex": "#51769f",
"name": "navy",
"original": "navy"
},
"gender": "male",
"merchant": {
"_id": "5579a24f8b22b92caa95fa2c",
"name": "Realm & Empire"
},
"updated_at": "2015-11-21T10:23:43.188Z",
"stock_id": "navy"
}
Then update the document so it just contains the sizes (this happened accidentally for a few products).
Then update the document again so it contains the swiped_price field:
"swiped_price": {
"currency": "GBP",
"current": 5.99
}
This is how I got to this state.