lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <>
Subject [jira] Commented: (LUCENE-448) optional norms
Date Thu, 27 Oct 2005 01:10:55 GMT
    [ ] 

Yonik Seeley commented on LUCENE-448:

> It might be nice to add something like a Field.Index.NO_NORMS, that assumes un-tokenized...

Good idea... un-tokenized fields don't need a lengthNorm anyway.

Minor Q: Should fakeNorms() exist on IndexReader (as is now), or simply be private to both
SegmentReader and MultiReader (the only two that need to generate fake norm arrays)?

Very minor Q: Should the getter/setter currently named isOmitNorms()/setOmitNorms() be renamed...
I followed the example of isStoreOffsetWithTermVector(), but omitNorms()/omitNorms(boolean)
 reads nicer in code.

> optional norms
> --------------
>          Key: LUCENE-448
>          URL:
>      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
>  - 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:
For more information on JIRA, see:

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

View raw message