[
https://issues.apache.org/jira/browse/LUCENE-3606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13160536#comment-13160536
]
Robert Muir commented on LUCENE-3606:
-------------------------------------
Hi, I will help too. I think norms itself is a pretty big project to clean up
and its a good one to do first.
We don't have to do it this way, but here is my idea of a way we could do it in
commitable steps:
# remove the setNorm first from IR, and fix all tests.
# rename NormsWriter to NormsConsumer, rote refactor of norms i/o code into
codec as NormsFormat (yes with just one default, and just reads whole byte[])
# remove IndexFileNames constant and default implementation handles files(),
including .sNNN hairiness
# create SimpleText implementation
Then even more cleanups:
# split Default implementation to Preflex (with all hairiness like .sNNN) and
Lucene40 (clean implementation)
# clean up 'behind the scenes' api, e.g. NormsFormat presents docvalues API
(hardcoded at fixed bytes), SegmentReader does getArray(). IndexReader still
returns just byte[]
# finally, "holy grail" where similarities can declare the normalization
factor(s) they need, using byte/float/int whatever, and its all unified with
the docvalues api. IndexReader.norms() maybe goes away here, and maybe
NormsFormat too.
> Make IndexReader really read-only in Lucene 4.0
> -----------------------------------------------
>
> Key: LUCENE-3606
> URL: https://issues.apache.org/jira/browse/LUCENE-3606
> Project: Lucene - Java
> Issue Type: Task
> Components: core/index
> Affects Versions: 4.0
> Reporter: Uwe Schindler
> Assignee: Uwe Schindler
>
> As we change API completely in Lucene 4.0 we are also free to remove
> read-write access and commits from IndexReader. This code is so hairy and
> buggy (as investigated by Robert and Mike today) when you work on
> SegmentReader level but forget to flush in the DirectoryReader, so its better
> to really make IndexReaders readonly.
> Currently with IndexReader you can do things like:
> - delete/undelete Documents -> Can be done by with IndexWriter, too (using
> deleteByQuery)
> - change norms -> this is a bad idea in general, but when we remove norms at
> all and replace by DocValues this is obsolete already. Changing DocValues
> should also be done using IndexWriter in trunk (once it is ready)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
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]