lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <>
Subject [jira] Updated: (LUCENE-2754) add spanquery support for all multitermqueries
Date Thu, 11 Nov 2010 21:36:17 GMT


Robert Muir updated LUCENE-2754:

    Attachment: LUCENE-2754.patch

Attached is an improved patch, still not perfect but better.

I added Uwe's suggestion of delegating all methods in the wrapper, and also
setting the rewrite method in the ctor and documenting that it does this.

I added a simple test case in search.spans that wraps some wildcard and fuzzy queries,
and added examples and javadocs.

I also deprecated the SpanRegexQuery, converted the tests for the contrib SpanRegexQuery to
use the wrapper directly, and deprecated the old tests, but they still work too.

I would prefer to avoid the heavy refactoring of MultiTermQuery rewrites (easier on another
issue?) just because it would make backporting to 3.x a little more tricky.

Anyway, I think this is pretty close, maybe just needs another police investigation
before committing.

> add spanquery support for all multitermqueries
> ----------------------------------------------
>                 Key: LUCENE-2754
>                 URL:
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Search
>            Reporter: Robert Muir
>             Fix For: 4.0
>         Attachments: LUCENE-2754.patch, LUCENE-2754.patch
> I set fix version: 4.0, but possibly we could do this for 3.x too
> Currently, we have a special SpanRegexQuery in contrib, and issues like LUCENE-522 open
for SpanFuzzyQuery.
> The SpanRegexQuery in contrib is a little messy additionally.
> For any arbitrary MultiTermQueries to work as a SpanQuery, there are only 3 requirements:
> # The un-rewritten query must extend SpanQuery so it can be included in Span clauses
> # The rewritten query should be SpanOrQuery instead of BooleanQuery
> # The rewritten term clauses should be SpanTermQueries.
> Instead of having logic like this for each query, i suggest adding two rewrite methods:
> * ScoringSpanBoolean rewrite
> * TopTermsSpanBoolean rewrite
> as a start i wrote these up, and added a SpanMultiTermQueryWrapper that can be used to
wrap any multitermquery this way.
> there are a few kinks, but I think the MTQ policeman can probably help get through them.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message