Как найти статус обновления коллекции Solr

#solr #apache-zookeeper

#solr #apache-zookeeper

Вопрос:

Как я могу узнать, действительно ли сработала команда обновления коллекции Solr? Я внес только небольшие изменения (установил omitTermFreqAndPositions для пары полей). Команда, которую я выполнил, была

 curl "http://localhost:8985/solr/admin/collections?action=RELOADamp;name=collection1"
  

Я получил ответ

 {
  "responseHeader":{
    "status":0,
    "QTime":1669},
  "success":{
    "***:*_solr":{
      "responseHeader":{
        "status":0,
        "QTime":1597}}}}
  

Файл журнала Solr содержит строки, подобные этой

 Invoked Collection Action :reload with params name=collection1amp;action=RELOADamp;wt=jsonamp;_=1553785328234 and sendToOCPQueue=true  
  

За которым следуют записи типа

 o.a.s.c.OverseerTaskQueue Response ZK path: /overseer/collection-queue-work/qnr-0000000018 doesn't exist.  Requestor may have disconnected from ZooKeeper
  

У меня такое чувство, что задание не было выполнено успешно.

Ответ №1:

Выбор асинхронного запроса с идентификатором и последующий запрос статуса работает. Если вы хотите присвоить идентификатор 123456, добавьте

 amp;async=123456    
  

в качестве дополнительного параметра запроса. После отправки команды выполните запрос, подобный этому

 collections?action=REQUESTSTATUSamp;requestid=123456   
  

Задаются только параметры запроса. Префикс с соответствующим путем.