lucene-dev mailing list archives

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

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: 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