github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/codec/lucene45/codec.go (about) 1 package lucene45 2 3 import ( 4 // "github.com/balzaczyy/golucene/core/store" 5 "github.com/balzaczyy/golucene/core/codec/lucene40" 6 "github.com/balzaczyy/golucene/core/codec/lucene41" 7 "github.com/balzaczyy/golucene/core/codec/lucene42" 8 "github.com/balzaczyy/golucene/core/codec/perfield" 9 . "github.com/balzaczyy/golucene/core/codec/spi" 10 . "github.com/balzaczyy/golucene/core/index/model" 11 ) 12 13 // codec/lucene45/Lucene45Codec.java 14 15 // NOTE: if we make largish changes in a minor release, easier to 16 // just make Lucene46Codec or whatever if they are backwards 17 // compatible or smallish we can probably do the backwards in the 18 // postingreader (it writes a minor version, etc). 19 /* 20 Implements the Lucene 4.5 index format, with configurable per-field 21 postings and docvalues formats. 22 23 If you want to reuse functionality of this codec in another codec, 24 extend FilterCodec. 25 */ 26 type Lucene45Codec struct { 27 *CodecImpl 28 } 29 30 func init() { 31 RegisterCodec(Lucene45CodecImpl) 32 } 33 34 var Lucene45CodecImpl = func() *Lucene45Codec { 35 codec := NewCodec("Lucene45", 36 lucene41.NewLucene41StoredFieldsFormat(), 37 lucene42.NewLucene42TermVectorsFormat(), 38 lucene42.NewLucene42FieldInfosFormat(), 39 lucene40.NewLucene40SegmentInfoFormat(), 40 new(lucene40.Lucene40LiveDocsFormat), 41 perfield.NewPerFieldPostingsFormat(func(field string) PostingsFormat { 42 return LoadPostingsFormat("Lucene41") 43 }), 44 perfield.NewPerFieldDocValuesFormat(func(field string) DocValuesFormat { 45 panic("not implemented yet") 46 }), 47 lucene42.NewLucene42NormsFormat(), 48 ) 49 return &Lucene45Codec{ 50 CodecImpl: codec, 51 } 52 }() 53 54 // codec/lucene45/Lucene45DocValuesFormat.java 55 56 const ( 57 LUCENE45_DV_DATA_CODEC = "Lucene45DocValuesData" 58 LUCENE45_DV_DATA_EXTENSION = "dvd" 59 LUCENE45_DV_META_CODEC = "Lucene45valuesMetadata" 60 LUCENE45_DV_META_EXTENSION = "dvm" 61 ) 62 63 // codec/lucene45/Lucene45DocValuesProducer.java 64 65 type Lucene45DocvaluesProducer struct { 66 } 67 68 // expert: instantiate a new reader 69 func newLucene45DocValuesProducer( 70 state SegmentReadState, dataCodec, dataExtension, metaCodec, metaExtension string) ( 71 dvp *lucene42.Lucene42DocValuesProducer, err error) { 72 panic("not implemented yet") 73 }