On 2-Oct-07, at 3:44 PM, Peter Keegan wrote:
I have been experimenting with payloads and BoostingTermQuery,
which I think
are excellent additions to Lucene core. Currently,
BoostingTermQuery extends
SpanQuery. I would suggest changing this class to extend TermQuery and
refactor the current version to something like 'BoostingSpanQuery'.
The reason is rooted in performance. In my testing, I compared query
throughput using TermQuery against 2 versions of BoostingTermQuery
- the
current one that extends SpanQuery and one that extends TermQuery
(which
I've included, below). Here are the results (qps = queries per
second):
TermQuery: 200 qps
BoostingTermQuery (extends SpanQuery): 97 qps
BoostingTermQuery (extends TermQuery): 130 qps
Here is a version of BoostingTermQuery that extends TermQuery. I
had to
modify TermQuery and TermScorer to make them public. A code review
would be
in order, and I would appreciate your comments on this suggestion.
Awesome! I wasn't aware that there was such a difference. With a
performance gap that large, it is definitely worth having the option.
Payload have the potential to be a heavily-used feature in Lucene,
and performacen will be key for that.
-Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]