github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/index/docFieldConsumer.go (about)

     1  package index
     2  
     3  // import (
     4  // 	"github.com/balzaczyy/golucene/core/index/model"
     5  // )
     6  
     7  // type DocFieldConsumer interface {
     8  // 	// Called when DWPT decides to create a new segment
     9  // 	flush(fieldsToFlush map[string]DocFieldConsumerPerField, state *model.SegmentWriteState) error
    10  // 	// Called when an aborting error is hit
    11  // 	abort()
    12  // 	startDocument()
    13  // 	addField(fi *model.FieldInfo) DocFieldConsumerPerField
    14  // 	finishDocument() error
    15  // }
    16  
    17  // /*
    18  // This is a DocFieldCosumer that inverts each field, separately, from a
    19  // Document, and accepts an InvertedTermsConsumer to process those terms.
    20  // */
    21  // type DocInverter struct {
    22  // 	consumer    InvertedDocConsumer
    23  // 	endConsumer InvertedDocEndConsumer
    24  // 	docState    *docState
    25  // }
    26  
    27  // func newDocInverter(docState *docState, consumer InvertedDocConsumer,
    28  // 	endConsumer InvertedDocEndConsumer) *DocInverter {
    29  
    30  // 	return &DocInverter{consumer, endConsumer, docState}
    31  // }
    32  
    33  // func (di *DocInverter) flush(fieldsToFlush map[string]DocFieldConsumerPerField,
    34  // 	state *model.SegmentWriteState) error {
    35  // 	childFieldsToFlush := make(map[string]InvertedDocConsumerPerField)
    36  // 	endChildFieldsToFlush := make(map[string]InvertedDocEndConsumerPerField)
    37  // 	for k, v := range fieldsToFlush {
    38  // 		perField := v.(*DocInverterPerField)
    39  // 		childFieldsToFlush[k] = perField.consumer
    40  // 		endChildFieldsToFlush[k] = perField.endConsumer
    41  // 	}
    42  // 	err := di.consumer.flush(childFieldsToFlush, state)
    43  // 	if err == nil {
    44  // 		err = di.endConsumer.flush(endChildFieldsToFlush, state)
    45  // 	}
    46  // 	return err
    47  // }
    48  
    49  // func (di *DocInverter) startDocument() {
    50  // 	di.consumer.startDocument()
    51  // 	di.endConsumer.startDocument()
    52  // }
    53  
    54  // func (di *DocInverter) finishDocument() error {
    55  // 	err := di.consumer.finishDocument()
    56  // 	if err == nil {
    57  // 		di.endConsumer.finishDocument()
    58  // 	}
    59  // 	return err
    60  // }
    61  
    62  // func (di *DocInverter) abort() {
    63  // 	defer di.endConsumer.abort()
    64  // 	di.consumer.abort()
    65  // }
    66  
    67  // func (di *DocInverter) addField(fi *model.FieldInfo) DocFieldConsumerPerField {
    68  // 	return newDocInverterPerField(di, fi)
    69  // }