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  }