Проводка в последовательные команды для Solr - данные, отсутствующие при первом вызове - PullRequest
0 голосов
/ 26 июня 2018

Я отправляю следующие команды с

    my $url = "http://xxxxx/solr/inventory/update?commitWithin=1000";

Я использую perl для отправки в настройки solr на другом сервере.

Пожалуйста, извините за форматирование. Я действительно пытался.

Спасибо Mike

РЕЗУЛЬТАТЫ ДАННЫХ - данных первой команды здесь нет. Все последующие звонки.

{  
   "responseHeader":{  
      "status":0,
      "QTime":0,
      "params":{  
         "q":"*:*",
         "fq":"id:3-159682",
         "_":"1529984183431"
      }
   },
   "response":{  
      "numFound":1,
      "start":0,
      "docs":[  
         {  
            "checklist_id":249746,
            "brand_s":"Pinnacle",
            "featured":"",
            "sf_set_sort":"Baseball1992Pinnacle",
            "sf_set_sort_s":"Baseball1992Pinnacle",
            "sport_s":"Baseball",
            "cardnumber":"308",
            "issue_s":"",
            "id":"3-159682",
            "year_s":"1992",
            "team":"Los Angeles Dodgers",
            "set_name_s":"",
            "has_image":1,
            "amazon_sku":"159682",
            "amazon_sync":1,
            "sf_id":378827,
            "sf_ending_time":2222222222,
            "sf_sort_id":199230875,
            "sf_listing_type":"buy",
            "shopify_id":"1302493397094",
            "_version_":1604345060355211264
         }
      ]
   }
}

КОМАНДЫ И ОТВЕТЫ

[  
   {  
      "inv_location":"",
      "ean":"",
      "site_id":"3",
      "category_id":[  
         "1",
         "55",
         "2162220",
         "2715086",
         "306",
         "2352370",
         "2413461"
      ],
      "cp_id":"159682",
      "isbn":"",
      "id":"3-159682",
      "consigner":"",
      "upc_code":"0",
      "quantity":"1",
      "created_date":"2018-06-26T10:17:55Z",
      "mpn":"",
      "description":"",
      "inv_num":"",
      "cp_listing_type":"1",
      "price":"0.69",
      "title":"1992 Pinnacle #308 Darryl Strawberry NM-MT ",
      "live_status":""
   }
]


Success: {  
   "responseHeader":{  
      "status":0,
      "QTime":1
   }
}

[  
   {  
      "checklist_id":"249746",
      "brand_s":"Pinnacle",
      "featured":"",
      "sf_set_sort":"Baseball1992Pinnacle",
      "sport_s":"Baseball",
      "cardnumber":"308",
      "issue_s":"",
      "id":"3-159682",
      "year_s":"1992",
      "team":"Los Angeles Dodgers",
      "set_name_s":""
   }
]

Success: {  
   "responseHeader":{  
      "status":0,
      "QTime":1
   }
}


[  
   {  
      "has_image":{  
         "set":"1"
      },
      "id":"3-159682"
   }
]

Success: {  
   "responseHeader":{  
      "status":0,
      "QTime":1
   }
}




[  
   {  
      "amazon_sku":{  
         "set":"159682"
      },
      "amazon_sync":{  
         "set":"1"
      },
      "id":"3-159682"
   }
]

Success: {  
   "responseHeader":{  
      "status":0,
      "QTime":1
   }
}



[  
   {  
      "sf_id":{  
         "set":"378827"
      },
      "sf_ending_time":{  
         "set":"2222222222"
      },
      "sf_sort_id":{  
         "set":"199230875"
      },
      "id":"3-159682",
      "sf_listing_type":{  
         "set":"buy"
      }
   }
]


Success: {  
   "responseHeader":{  
      "status":0,
      "QTime":1
   }
}


[  
   {  
      "id":"3-159682",
      "shopify_id":{  
         "set":"1302493397094"
      }
   }
]

Success: {  
   "responseHeader":{  
      "status":0,
      "QTime":1
   }
}

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Ответом на мою проблему было то, что 1-я и 2-я команды были полными обновлениями, а остальные были частичными обновлениями (с использованием «set»

Я меняю вторую команду на такой формат

[{ "checklist_id": { "установить": "249725"}, "brand_s": { "установить": "Pinnacle"}, "признакам": { "установить": ""}, "sf_set_sort": { "набор": "Baseball1992Pinnacle"}, "sport_s": { "установить": "бейсбол"}, "cardnumber": { "набор": "287"}, "issue_s": { "установить": ""} , "id": "3-159694", "year_s": {"set": "1992"}, "team": {"set": "Пивовары Милуоки"}, "set_name_s": {"set": " «}}]

И с кодом все было в порядке, первый запрос не перезаписывался.

Может быть, это поможет кому-то еще!

Спасибо Mike

0 голосов
/ 26 июня 2018

Два документа, которые вы отправляете, имеют одинаковый идентификатор. Второй документ перезаписывает первый, поскольку идентификатор должен однозначно идентифицировать документ. Если идентификатор не делает этого, измените, какое поле определено как uniqueKey, или используйте генератор UUID для получения нового идентификатора при каждой отправке документа. Последний вызовет проблемы, если вы попытаетесь выполнить обновления, не имея нового легкодоступного uuid, tho.

Другим решением будет префикс идентификатора с типом документа или (в зависимости от вашего варианта использования) объединение его в один документ перед индексацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...