Как определить, что SOLR возвращает пустые результаты из-за параметра timeAllowed? - PullRequest
0 голосов
/ 12 апреля 2020

Я использую timeAllowed для обработки запросов API для удовлетворения SLA. Я предполагаю, что все мои запросы отвечают менее чем за 2 секунды. Мой API-интерфейс составляет 5 секунд. Поэтому я установил 3 секунды в качестве параметра timeAllowed.

Наблюдается рост объемов данных и использования. Следовательно, 2 секунды сла не совпадают. Я понимаю, что SLA необходимо пересмотреть.

Но я бы хотел дифференцировать параметр timeAllowed, вызвавший 0 результатов, но без результатов.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 13 апреля 2020

Если время timeAllowed превышено, клавиша partialResults будет установлена ​​в значение true в ответе:

"responseHeader": {
  "status": 0,
  "zkConnected": true,
  "partialResults": true,
  "QTime": 20,
  "params": {
    "q": "*:*"
  }
},

Имейте в виду, что эта клавиша также будет установлена, если Solr не смог связаться один из его сегментов в облачной коллекции - т. е. он указывает, что возвращенный ответ является только частичным ответом, а не точно, что параметр timeAllowed был превышен.

Однако в журнале сервера Solr на уровне WARNING должно быть зарегистрировано сообщение о превышении срока, насколько я могу судить из источника.

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