lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-448) optional norms
Date Thu, 27 Oct 2005 16:07:55 GMT
    [ http://issues.apache.org/jira/browse/LUCENE-448?page=comments#action_12356100 ] 

Doug Cutting commented on LUCENE-448:
-------------------------------------

Un-tokenized fields don't need a lengthNorm, but they can be boosted.  So it should be well
documented that disabling norms disables boosting.

I'd hide fakeNorms().  If user code shouldn't call it, then it shouldn't appear in the javadoc.
 You could make it package-private.  Or, can you not make MultiReader.norms() rely on SegmentReader.norms()
to create fake norms as needed?

As for naming setter/getters: I don't feel strongly about this.  I sometimes use get/set,
even when I might prefer omitting them, simply because it is the fashion and the style police
hassle me when I don't.

> optional norms
> --------------
>
>          Key: LUCENE-448
>          URL: http://issues.apache.org/jira/browse/LUCENE-448
>      Project: Lucene - Java
>         Type: New Feature
>   Components: Index
>     Versions: CVS Nightly - Specify date in submission
>     Reporter: Yonik Seeley
>  Attachments: omitNorms.txt
>
> For applications with many indexed fields, the norms cause memory problems both during
indexing and querying.
> This patch makes norms optional on a per-field basis, in the same way that term vectors
are optional per-field.
> Overview of changes:
>  - Field.omitNorms that defaults to false
>  - backward compatible lucene file format change: FieldInfos.FieldBits has a bit for
omitNorms
>  - IndexReader.hasNorms() method
>  - During merging, if any segment includes norms, then norms are included.
>  - methods to get norms return the equivalent 1.0f array for backward compatibility
> The patch was designed for backward compatibility:
>  - all current unit tests pass w/o any modifications required
>  - compatible with old indexes since the default is omitNorms=false
>  - compatible with older/custom subclasses of IndexReader since a default hasNorms()
is provided
>  - compatible with older/custom users of IndexReader such as Weight/Scorer/explain since
a norm array is produced on demand, even if norms were not stored
> If this patch is accepted (or if the direction is acceptable), performance for scoring
 could be improved by assuming 1.0f when hasNorms(field)==false.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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


Mime
View raw message