Как прочитать большой ответный объект SOLR по объектам, пока ответ все еще возвращается - PullRequest
0 голосов
/ 12 октября 2018

Я запрашиваю SOLR7.5 для некоторых крупных объектов и хотел бы отобразить их в пользовательском интерфейсе браузера по мере их возврата.

Какие есть варианты для чтения ответа по крупицам при использованиивыберите обработчик запроса

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

я искал не в том месте.Мне просто нужно прочитать о моем webAPI fetch ().response.json () читает ответ на завершение.

response.body.getReader () позволяет вам захватить поток в чанке и декодировать его оттуда.

let test = 'https://my-solr7/people/select?q=something'
fetchStream(test);

function fetchStream(uri, params = {}){
  const options = {
    method: 'GET',
  };
  var decoder = new TextDecoder();
  fetch(uri, options)
  .then ()
  .then( (response) => {
  let read;
  const reader = response.body.getReader();
  reader.read()
    .then(read = (result) => {
      if (result.done) return;
      console.log(result.value);
      let chunk = decoder.decode(result.value || new Uint8Array, {stream: !result.done});
      console.log(chunk)
      reader.read().then(read);
    });
});

}

0 голосов
/ 12 октября 2018

Я не думаю, что в Solr есть что-то родное, чтобы делать то, что вы просите.

Один из подходов к решению этой проблемы заключается в возвращении только идентификатора документов, которые соответствуют критериям в вашем запросе (и не включают в себя тяжелую часть документа), а затем асинхронно извлекает большую часть документа изклиент.

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