Ответ 1
Похоже, вы делаете массовый импорт данных в Solr, поэтому вам не нужно сразу искать какие-либо данные.
Во-первых, вы можете увеличить количество документов на запрос. Поскольку ваши документы небольшие, я бы даже увеличил его до 100 тыс. Документов по запросу или более и попробовал.
Во-вторых, вы хотите уменьшить количество попыток совершения при индексировании навалом. В твоем solrconfig.xml искать:
<!-- AutoCommit
Perform a hard commit automatically under certain conditions.
Instead of enabling autoCommit, consider using "commitWithin"
when adding documents.
http://wiki.apache.org/solr/UpdateXmlMessages
maxDocs - Maximum number of documents to add since the last
commit before automatically triggering a new commit.
maxTime - Maximum amount of time in ms that is allowed to pass
since a document was added before automatically
triggering a new commit.
openSearcher - if false, the commit causes recent index changes
to be flushed to stable storage, but does not cause a new
searcher to be opened to make those changes visible.
-->
<autoCommit>
<maxTime>15000</maxTime>
<openSearcher>false</openSearcher>
</autoCommit>
Вы можете полностью отключить autoCommit, а затем вызвать фиксацию после публикации всех ваших документов. В противном случае вы можете настроить номера следующим образом:
Значение по умолчанию maxTime
равно 15 секундам, поэтому автоматическое совершение происходит каждые 15 секунд, если есть незафиксированные документы, поэтому вы можете установить это на что-то большое, скажем, 3 часа (т.е. 3 * 60 * 60 * 1000). Вы также можете добавить <maxDocs>50000000</maxDocs>
, что означает, что автоматическое совершение происходит только после добавления 50 миллионов документов. После того, как вы разместите все свои документы, вызовите фиксацию один раз вручную или из SolrJ - для фиксации потребуется некоторое время, но это будет намного быстрее.
Также после того, как вы закончите свой массовый импорт, уменьшите maxTime
и maxDocs
, чтобы любые пошаговые сообщения, которые вы будете делать с Solr, получат гораздо раньше. Или используйте commitWithin
, как указано в solrconfig.