Я написал собственный обработчик запросов в solr для удовлетворения моих бизнес-требований.Обработчик включает в себя получение данных от двух разных из SolrIndexSearchers.Я хочу, чтобы возвращенные списки из двух SolrIndexSearchers были объединены в один.
Я пробовал перебирать один и добавлять документ по документу к другому, но все, что я мог получить, это исключение «Неподдерживаемая операция».Есть ли способ объединить два списка документов?
[Edit 1]: Фрагмент кода внутри переопределенного метода handleRequestBody
SolrCore core = new SolrCore("Desired Directory 1", schema);
reader = IndexReader.open("Desired Directory 1");
searcher = new SolrIndexSearcher(core, schema, getName(), reader, false);
Sort lsort = null;
FilteredQuery filter = null;
DocList results1 = searcher.getDocList(query, filter, lsort, 0, 10);
reader.close();
searcher.close();
core.close();
SolrCore core = new SolrCore("Desired Directory 2", schema);
reader = IndexReader.open("Desired Directory 2");
searcher = new SolrIndexSearcher(core, schema, getName(), reader, false);
Sort lsort = null;
FilteredQuery filter = null;
DocList results2 = searcher.getDocList(query, filter, lsort, 0, 10);
reader.close();
searcher.close();
core.close();
rsp.add("response",results1);
rsp.add("response",results2);
Теперь, когда у меня есть два списка DocLists Results1 и Results2, как мне объединить их??
[Правка 2]: проблема не в трассировке исключений / стека.Когда я добавляю два ответа, я получаю результаты в двух наборах ответов, когда это поиск одной машины.Когда это распределенный поиск, я получаю распределение только между ответом 1 машины 1 и ответом 1 машины 2. В моем понимании, только когда я объединю ответы в один набор, я смогу получить правильное распределение.Надеюсь, мне понятно?