Единственное встроенное решение, которое я могу придумать, - это разделить ваш индекс на несколько подиндексов и использовать ParallelMultiSearcher для их поиска, но я почти уверен, что вы увидите снижение производительности по мере того, как Lucene обычно ограничен вводом-выводом, а не процессором.
Также помните, что если вы будете использовать все ядра для одного поиска, вы можете столкнуться с ужасной производительностью при параллельном обслуживании нескольких запросов.