2017-01-30 8 views
0

Я новичок в SOLR, и я использую SOLRQuery для запроса БД и возврата данных, которые загружаются. Число возвращаемых строк - в миллионах.SOLR Pagination

Поток что-то вроде В графическом интерфейсе, нажмите кнопку загрузки> через REST, java-код использует SOLRQuery для извлечения данных и возвращает их в графический интерфейс, где данные загружаются в файл.

Поскольку количества строк слишком много, я немного беспокоюсь о времени, которое требуется для получения данных и загрузки файла. Итак, требуется ли разбиение на страницы на уровне запросов SOLR? Я имею в виду, должен ли я использовать Deep pagination SOLR Query для повышения производительности? я добавил код, как показано ниже:

HttpSolrServer searcherServer = new HttpSolrServer(url); 
SolrQuery solrQuery = new SolrQuery(); 
solrQuery.setRequestHandler("/export"); 
solrQuery.setQuery(query); 
solrQuery.set("fl","field1"); 
solrQuery.setSort(SolrQuery.SortClause.asc("field1")); 
QueryResponse resp = searcherServer.query(solrQuery); 

В Schema.xml я добавил docValues ​​= «истина» в FIELD1 и в solrconfig.xml я добавил, как указано здесь https://home.apache.org/~ctargett/RefGuidePOC/jekyll-full/exporting-result-sets.html

+0

Вы попробовали сами? – Mysterion

+0

Вы проектируете экспорт? Пейджинг - это что-то другое, сделанное человеком, страница за страницей. Я не знаю пользователей этой страницы вручную через миллионы страниц. – cheffe

+0

Да, я проектирую экспорт kinda – MadxG

ответ

0

Там есть специальный RequestHandler для экспорта результата sets - обработчик запроса /export. Это настраивается для этих ситуаций, когда вы собираетесь возвращать миллионы строк и хотите вернуть полный набор обращений.

Существует несколько требований для экспорта RequestHandler:

Все поля сортируется и экспортируются должны иметь docValues значение ИСТИНА.

Все запросы должны включать параметры сортировки и fl, или запрос вернет ошибку.

http://localhost:8983/solr/core_name/export?q=my-query&sort=severity+desc,timestamp+desc&fl=severity,timestamp,msg 

Обработчик запросов подробно на странице Exporting result sets вики.

+0

Я попробую это и уточню, помогло мне это или нет. Спасибо! – MadxG

+0

Я использую SOLR Query на стороне клиента (это код Java). Я пытался использовать экспорт, но я думаю, что чего-то не хватает. Это дает мне исключение ». Запрос, отправленный клиентом, был синтаксически неправильным ({msg = XMLWriter не поддерживает версию: 2, code = 400})« Любые предложения? – MadxG

+0

Я добавил свой код. Пожалуйста, дайте мне знать, что я пропустил. – MadxG

 Смежные вопросы

  • Нет связанных вопросов^_^