func (si *SegmentCommitInfo) DelCount() int {
	return si.delCount
}
/* Returns the number of deleted docs in the segment.
package spi
import (
	"fmt"
	. "github.com/balzaczyy/golucene/core/index/model"
	"github.com/balzaczyy/golucene/core/store"
)
type SegmentCommitInfo struct {
	Info *SegmentInfo
	delCount int
	delGen int64
	nextWriteDelGen int64
	fieldInfosGen int64
	nextWriteFieldInfosGen int64
	docValuesGen int64
	nextWriteDocValuesGen int64
	dvUpdatesFiles map[int]map[string]bool
	fieldInfosFiles map[string]bool
	genUpdatesFiles map[int64]map[string]bool
	sizeInBytes int64  
	BufferedUpdatesGen int64
}
func NewSegmentCommitInfo(info *SegmentInfo,
	delCount int, delGen, fieldInfosGen, docValuesGen int64) *SegmentCommitInfo {
	ans := &SegmentCommitInfo{
		Info:                   info,
		delCount:               delCount,
		delGen:                 delGen,
		nextWriteDelGen:        1,
		fieldInfosGen:          fieldInfosGen,
		nextWriteFieldInfosGen: 1,
		docValuesGen:           docValuesGen,
		nextWriteDocValuesGen:  1,
		dvUpdatesFiles:         make(map[int]map[string]bool),
		fieldInfosFiles:        make(map[string]bool),
		genUpdatesFiles:        make(map[int64]map[string]bool),
		sizeInBytes:            -1,
	}
	if delGen != -1 {
		ans.nextWriteDelGen = delGen + 1
	}
	if fieldInfosGen != -1 {
		ans.nextWriteFieldInfosGen = fieldInfosGen + 1
	}
	if docValuesGen != -1 {
		ans.nextWriteDocValuesGen = docValuesGen + 1
	}
	return ans
}
func (si *SegmentCommitInfo) DocValuesUpdatesFiles() map[int]map[string]bool {
	return si.dvUpdatesFiles
}
func (si *SegmentCommitInfo) SetDocValuesUpdatesFiles(dvUpdatesFiles map[int]map[string]bool) {
	si.dvUpdatesFiles = dvUpdatesFiles
}
func (si *SegmentCommitInfo) FieldInfosFiles() map[string]bool {
	return si.fieldInfosFiles
}
func (si *SegmentCommitInfo) SetFieldInfosFiles(fieldInfosFiles map[string]bool) {
	si.fieldInfosFiles = fieldInfosFiles
}
func (info *SegmentCommitInfo) AdvanceDelGen() {
	info.delGen, info.nextWriteDelGen = info.nextWriteDelGen, info.delGen+1
	info.sizeInBytes = -1
}
func (info *SegmentCommitInfo) AdvanceNextWriteDelGen() {
	info.nextWriteDelGen++
}
func (si *SegmentCommitInfo) SizeInBytes() (sum int64, err error) {
	if si.sizeInBytes == -1 {
		sum = 0
		for _, fileName := range si.Files() {
			d, err := si.Info.Dir.FileLength(fileName)
			if err != nil {
				return 0, err
			}
			sum += d
		}
		si.sizeInBytes = sum
	}
	return si.sizeInBytes, nil
}
func (si *SegmentCommitInfo) Files() []string {
	files := make(map[string]bool)
	for name, _ := range si.Info.Files() {
		files[name] = true
	}
	for _, name := range si.Info.Codec().(Codec).LiveDocsFormat().Files(si) {
		files[name] = true
	}
	for _, names := range si.genUpdatesFiles {
		for name, _ := range names {
			files[name] = true
		}
	}
	for _, names := range si.dvUpdatesFiles {
		for name, _ := range names {
			files[name] = true
		}
	}
	for name, _ := range si.fieldInfosFiles {
		files[name] = true
	}
	ans := make([]string, 0, len(files))
	for s, _ := range files {
		ans = append(ans, s)
	}
	return ans
}
func (si *SegmentCommitInfo) SetBufferedUpdatesGen(v int64) {
	si.BufferedUpdatesGen = v
	si.sizeInBytes = -1
}
func (si *SegmentCommitInfo) HasDeletions() bool {
	return si.delGen != -1
}
func (si *SegmentCommitInfo) HasFieldUpdates() bool {
	return si.fieldInfosGen != -1
}
func (si *SegmentCommitInfo) FieldInfosGen() int64 {
	return si.fieldInfosGen
}
func (si *SegmentCommitInfo) DocValuesGen() int64 {
	return si.docValuesGen
}
func (si *SegmentCommitInfo) NextDelGen() int64 {
	return si.nextWriteDelGen
}
func (si *SegmentCommitInfo) DelGen() int64 {
	return si.delGen
}