Мое приложение намерено регулярно вставлять документы в Solr. Есть два соображения:
- Отправка запроса на обновление в Solr является ключевым фактором, влияющим на производительность.
- Потокобезопасная транзакция. Коммит SolrClient не является потокобезопасным (укажите это, если я ошибаюсь), это может вызвать серьезную проблему, когда несколько пользователей вводят документ в Solr.
Я обнаружил, что ConcurrentUpdateSolrClient
является решением-кандидатом, поскольку оно является потокобезопасным и имеет очередь для буферизации и сброса множества документов за одно соединение. Но я смущен, когда я проверяю это. Мой вопрос,
- Если я установлю размер очереди, нужно ли мне еще делать коммит?
- Если я фиксирую, даже если в очереди есть только один документ, он все равно отправляет HTTP-запрос в Solr. Могу ли я заставить его работать как очередь сообщений?