lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <>
Subject [jira] Commented: (LUCENE-2064) Highlighter should support all MultiTermQuery subclasses without casts
Date Sat, 14 Nov 2009 00:43:39 GMT


Uwe Schindler commented on LUCENE-2064:

bq. I agree with the exception, but which reader are you talking about. 

You are right, there is no IR available when instantiating (Smart)FakeReader. So catching
the NPE is the only way, or implement all methods of IR to return something valid / use an
empty static final unmodifiable MemoryIndex as delegate of the FakeReader.

> Highlighter should support all MultiTermQuery subclasses without casts
> ----------------------------------------------------------------------
>                 Key: LUCENE-2064
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: contrib/highlighter
>    Affects Versions: 2.9.1
>            Reporter: Simon Willnauer
>            Assignee: Simon Willnauer
>             Fix For: 3.0
>         Attachments: LUCENE-2064.txt
> In order to support MultiTermQuery subclasses the Highlighter component applies instanceof
checks for concrete classes from the lucene core. This prevents classes like RegexQuery in
contrib from being supported. Introducing dependencies on other contribs is not feasible just
for being supported by the highlighter.
> While the instanceof checks and subsequent casts might hopefully go somehow away  in
the future but for supporting more multterm queries I have a alternative approach using a
fake IndexReader that uses a RewriteMethod to force the MTQ to pass the field name to the
given reader without doing any real work. It is easier to explain once you see the patch -
I will upload shortly.

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