refactor: extract index metadata code into package
1 file changed, 16 insertions(+), 11 deletions(-)
changed files
M internal/index/indexer.go → internal/index/indexer.go
@@ -8,6 +8,7 @@ "math" "alin.ovh/searchix/internal/config" "alin.ovh/searchix/internal/file" + "alin.ovh/searchix/internal/index/meta" "alin.ovh/searchix/internal/index/nixattr" "alin.ovh/searchix/internal/nix"@@ -45,7 +46,7 @@ batchSize int index bleve.Index log *log.Logger exists bool - Meta *Meta + Meta *meta.Meta } type BatchError struct {@@ -200,11 +201,10 @@ } const ( indexBaseName = "index.bleve" - metaBaseName = "meta.json" ) var expectedDataFiles = []string{ - metaBaseName, + meta.BaseName, indexBaseName, }@@ -245,7 +245,7 @@ } } var idx bleve.Index - var meta *Meta + var m *meta.Meta if !exists || options.Force { if options.Force { err = deleteIndex(root)@@ -258,9 +258,9 @@ if err != nil { return nil, nil, err } - meta, err = createMeta(root, options.Logger) + m, err = meta.Create(root, options.Logger) if err != nil { - return nil, nil, err + return nil, nil, fault.Wrap(err, fmsg.With("could not create index metadata file")) } } else {@@ -272,9 +272,9 @@ if baseErr != nil { return nil, nil, fault.Wrap(baseErr, fmsg.Withf("could not open index at path %s", indexPath)) } - meta, err = openMeta(root, options.Logger) + m, err = meta.Open(root, options.Logger) if err != nil { - return nil, nil, err + return nil, nil, fault.Wrap(err, fmsg.With("could not open index metadata file")) } }@@ -291,14 +291,14 @@ config: options.Config, log: options.Logger, exists: exists, index: idx, - meta: meta, + meta: m, }, &WriteIndex{ exists: exists, index: idx, batchSize: options.BatchSize, log: options.Logger, - Meta: meta, + Meta: m, }, nil }@@ -308,7 +308,12 @@ return i.exists } func (i *WriteIndex) SaveMeta() error { - return i.Meta.Save() + err := i.Meta.Save() + if err != nil { + return fault.Wrap(err) + } + + return nil } func (i *WriteIndex) Import(