Lucene QueryParser в нескольких потоках: синхронизировать или создавать новый каждый раз?

У меня есть веб-приложение, в котором пользователи отправляют запросы в индекс Lucene. Запросы анализируются Lucene QueryParser . Я на собственном горьком опыте узнал, что QueryParser не является потокобезопасным.

Не лучше ли использовать один экземпляр QueryParser и синхронизировать вызовы с его parse () метод? Или лучше строить новый экземпляр для каждого запроса? (Или мне лучше подойдет пул из QueryParser s?)

Я знаю, что в целом подобные вопросы зависят от конкретных деталей и требуют профилирования, но, возможно, кто-то может сказать определенно " QueryParser очень недорого / дорого строить »?

5
задан RTS - read about Monica Cellio 2 April 2011 в 18:22
поделиться