[
https://issues.apache.org/jira/browse/LUCENE-3146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13041189#comment-13041189
]
Shai Erera commented on LUCENE-3146:
------------------------------------
Adding that info to .fnx is a good idea. But I'm not sure it will solve the
problem demonstrated in the test, only in different order.
Say the app adds field "a" w/ omitNorms=false and commit(). Then .fnx records
that field "a" stores norms and you can call IR.setNorms. Afterwards it adds
field "a" w/ omitNorms=true -- now what? Do we fail the addDocument() (I think
we should)? If we don't, then norms will be merged away, according to trunk's
semantics.
So I think we should fix the jdocs + throw the ex from IR.setNorms in this
issue, and open a separate one for tracking norms in .fnx + fixing the scenario
I've described above?
Do we have a ready-to-use exception? If not, how about IllegalArgEx (cause the
field is an illegal arg, but weak), IllegalStateEx (cause the field does not
track norms, but that ex is usually associated w/ Threads' states), IllegalOpEx
(is there such ex)? At any rate, we must throw a RuntimeEx (at least in 3x) to
not break apps, compile-wise.
> IndexReader.setNorms is no op if one of the field instances omits norms
> -----------------------------------------------------------------------
>
> Key: LUCENE-3146
> URL: https://issues.apache.org/jira/browse/LUCENE-3146
> Project: Lucene - Java
> Issue Type: Bug
> Components: core/search
> Reporter: Shai Erera
> Fix For: 4.0
>
> Attachments: LUCENE-3146.patch
>
>
> If I add two documents to an index w/ same field, and one of them omit norms,
> then IndexReader.setNorms is no-op. I'll attach a patch w/ test case
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]