[ https://issues.apache.org/jira/browse/LUCENE-2308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13094547#comment-13094547 ]
Robert Muir commented on LUCENE-2308: ------------------------------------- But if fieldtype is an interface with get-only methods, then someone could make a Freezable implementation right? Maybe the interface is good, because I dislike 'forcing' freezable too, just not as much as a dislike builder. so, i think the interface sounds good, and would still personally prefer if our 'default' core implementation did not use freezable, and used the simpler ctor instead. also I think we should be gearing the API so that most people can use the simpler fieldtypes (StringField/TextField etc) for 90% of lucene uses instead: I think we want using FieldType directly to be more expert usage (e.g. i should be able to do a typical body+title+metadata fields with these StringField/TextField etc and never deal with this stuff). > Separately specify a field's type > --------------------------------- > > Key: LUCENE-2308 > URL: https://issues.apache.org/jira/browse/LUCENE-2308 > Project: Lucene - Java > Issue Type: Improvement > Components: core/index > Reporter: Michael McCandless > Assignee: Michael McCandless > Labels: gsoc2011, lucene-gsoc-11, mentor > Fix For: 4.0 > > Attachments: LUCENE-2308-10.patch, LUCENE-2308-11.patch, > LUCENE-2308-12.patch, LUCENE-2308-13.patch, LUCENE-2308-14.patch, > LUCENE-2308-15.patch, LUCENE-2308-16.patch, LUCENE-2308-17.patch, > LUCENE-2308-18.patch, LUCENE-2308-19.patch, LUCENE-2308-2.patch, > LUCENE-2308-20.patch, LUCENE-2308-21.patch, LUCENE-2308-3.patch, > LUCENE-2308-4.patch, LUCENE-2308-5.patch, LUCENE-2308-6.patch, > LUCENE-2308-7.patch, LUCENE-2308-8.patch, LUCENE-2308-9.patch, > LUCENE-2308-branch.patch, LUCENE-2308-final.patch, LUCENE-2308-ltc.patch, > LUCENE-2308-merge-1.patch, LUCENE-2308-merge-2.patch, > LUCENE-2308-merge-3.patch, LUCENE-2308.branchdiffs, > LUCENE-2308.branchdiffs.moved, LUCENE-2308.patch, LUCENE-2308.patch, > LUCENE-2308.patch, LUCENE-2308.patch, LUCENE-2308.patch > > > This came up from dicussions on IRC. I'm summarizing here... > Today when you make a Field to add to a document you can set things > index or not, stored or not, analyzed or not, details like omitTfAP, > omitNorms, index term vectors (separately controlling > offsets/positions), etc. > I think we should factor these out into a new class (FieldType?). > Then you could re-use this FieldType instance across multiple fields. > The Field instance would still hold the actual value. > We could then do per-field analyzers by adding a setAnalyzer on the > FieldType, instead of the separate PerFieldAnalzyerWrapper (likewise > for per-field codecs (with flex), where we now have > PerFieldCodecWrapper). > This would NOT be a schema! It's just refactoring what we already > specify today. EG it's not serialized into the index. > This has been discussed before, and I know Michael Busch opened a more > ambitious (I think?) issue. I think this is a good first baby step. We could > consider a hierarchy of FIeldType (NumericFieldType, etc.) but maybe hold > off on that for starters... -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org