Is your profiler reporting inclusive or exclusive costs for each function?
Ie. does it exclude time spent in functions that are called within a
function? I'm asking because it makes total sense for IndexSearcher#search
to spend most of its time is BulkScorer#score, which coordinates the whole
matching+scoring process.

Having much time spent in BooleanWeight#bulkScorer is a bit surprising
however. This suggests that you have too many segments in your index (since
the bulk scorer needs to be recreated for every segment) or that your
average query matches a very low number of documents (so that Lucene spends
more time figuring out how best to find the matches versus actually finding
these matches).

On Sat, Oct 2, 2021 at 5:57 AM Baris Kazar <baris.ka...@oracle.com> wrote:

> Hi,-
>  I performance profiled my application via jvisualvm on Java
> and saw that 75% of the search process from
> org.apache.lucene.search.IndexSearcher.search() are spent on
> these units:
> org.apache.lucene.search.BooleanWeight.bulkScorer() and BulkScorer.score()
> Is there any study or project to speed up these please?
>
> Best regards
>
>

-- 
Adrien

Reply via email to