Why is TermQuery so much faster than PointRangeQuery?

I have 1 index with data volume around 80 million. I had 1 slow query before, which was 3 conditions, including 1 date equivalent query as well as 2 numeric column equivalent queries, and the query time was at least 5 seconds or more.

But when I changed both the numeric column and the date column of the query condition to Keyword type, in going to the query, I found that it became exceptionally fast, within 10ms.

I looked at the query profile, the numeric column is executed as PonitRangeQuery, and the Keyword is executed as TermQuery.

I would like to understand why the difference between TermQuery and PonitRangeQuery is so big?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.