You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Uwe Schindler (JIRA)" <ji...@apache.org> on 2010/10/14 13:53:32 UTC

[jira] Issue Comment Edited: (LUCENE-2690) Do MultiTermQuery boolean rewrites per segment

    [ https://issues.apache.org/jira/browse/LUCENE-2690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12920930#action_12920930 ] 

Uwe Schindler edited comment on LUCENE-2690 at 10/14/10 7:52 AM:
-----------------------------------------------------------------

This is the attributes hell patch (not yet finally done on the FuzzyTermsEnum side, Robert can you review?).

The change is:
- BoostAttribute is only added to the TermsEnum, because the TermsEnum produces the boost, the MTQ rewrite consumes.
- MaxNonCompetitiveBoostAttribute is owned by the rewrite mode as it is the producer. The TermsEnum consunmes this attribute

Fixing needs the hackish attributes() method in the Fuzzy rewrite.

TODO: Contrib/Solr is not yet reviewed for the API change in MTQ.getTermsEnum()!

      was (Author: thetaphi):
    This is the attributes hell patch (not yet finally done on the FuzzyTermsEnum side, Robert can you review?).

The change is:
- BoostAttribute is only added to the TermsEnum, because the TermsEnum produces the boost, the MTQ rewrite consumes.
- MaxNonCompetitiveBoostAttribute is owned by the rewrite mode as it is the producer. The TermsEnum consunmes this attribute

Fixing needs the hackish attributes() method in the Fuzzy rewrite.
  
> Do MultiTermQuery boolean rewrites per segment
> ----------------------------------------------
>
>                 Key: LUCENE-2690
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2690
>             Project: Lucene - Java
>          Issue Type: Improvement
>    Affects Versions: 4.0
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 4.0
>
>         Attachments: LUCENE-2690-attributes.patch, LUCENE-2690-hack.patch, LUCENE-2690.patch, LUCENE-2690.patch, LUCENE-2690.patch, LUCENE-2690.patch, LUCENE-2690.patch, LUCENE-2690.patch, LUCENE-2690.patch, LUCENE-2690.patch, LUCENE-2690.patch, LUCENE-2690.patch
>
>
> MultiTermQuery currently rewrites FuzzyQuery (using TopTermsBooleanQueryRewrite), the auto constant rewrite method and the ScoringBQ rewrite methods using a MultiFields wrapper on the top-level reader. This is inefficient.
> This patch changes the rewrite modes to do the rewrites per segment and uses some additional datastructures (hashed sets/maps) to exclude duplicate terms. All tests currently pass, but FuzzyQuery's tests should not, because it depends for the minimum score handling, that the terms are collected in order..
> Robert will fix FuzzyQuery in this issue, too. This patch is just a start.

-- 
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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org