Coming from the discussions in LUCENE-1522 (improving highlighter), I
think at some point we should merge Span*Query into their normal
counterparts, if possible.

Ie, there should be only one TermQuery that can do both what the
current TermQuery does, and also what SpanTermQuery does.  It's able
to enumerate the spans/payloads for a given document, and if you don't
request those, the performance should hopefully be equal to that of
the current TermQuery.

The highligher would in fact request spans for a "normal" TermQuery,
on a single doc index at a time, in order to locate the hits.

Likewise for SpanOrQuery, SpanAndQuery.

I have no real sense of how much work this is, what problems would
ensue (eg possible difference in scoring, etc.), but from
highlighter's standpoint, ideally all queries need to be able to
enumerate the collection of positions that established the match.

Mike

Grant Ingersoll wrote:

See https://issues.apache.org/jira/browse/LUCENE-1017 for some background. Have you measured BTQ versus the SpanTermQuery? Position based stuff is often slower.

SpanQueries could use some performance assessments, that is for sure. Ideally, I think you should compare:
TermQuery v. SpanTQ v. BTQ

-Grant


On Mar 18, 2009, at 5:43 AM, Simon Willnauer wrote:

Nothing different, I'm just concerned about the performance as the
SpanQuerys take about twice as long as a term query.
I run a little benchmark and found BoostingTermQuery being 1.5 times
slower than TermQuery without any payloads in the index.
In some usecases this could be important especially where the power of
a span query is not required.

Maybe I miss something, if so please let me know.

simon
On Tue, Mar 17, 2009 at 11:15 PM, Grant Ingersoll <gsing...@apache.org > wrote:
What does PayloadTermQuery do that BoostingTermQuery doesn't do?

-Grant

On Mar 17, 2009, at 1:27 PM, Simon Willnauer wrote:

Hi, I looked at TermScorer today in order implement a TermQuery to
utilize Payloads from the index.
I realized that this class is final in the current trunk. It's kind of
obvious that is is declared final for optimization purposes.
I wanna know if it is possible to make it non final in the next
release or later to use it in a PayloadTermQuery class.
I would like to reuse this code and do some additional cleanups like
remove the code redundancy in score() / score(HitCollector, int).

Thanks,
Simon

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to