У меня есть веб-приложение, в котором пользователи отправляют запросы в индекс Lucene. Запросы
анализируются Lucene
QueryParser
. Я на собственном горьком опыте узнал, что QueryParser
не является потокобезопасным.
Не лучше ли использовать один экземпляр QueryParser
и синхронизировать вызовы с его parse ()
метод? Или лучше строить новый экземпляр для каждого запроса? (Или мне лучше подойдет пул из QueryParser
s?)
Я знаю, что в целом подобные вопросы зависят от конкретных деталей и требуют профилирования, но, возможно, кто-то может сказать определенно " QueryParser
очень недорого / дорого строить »?