feat(index): enable storage of package data
2 files changed, 18 insertions(+), 1 deletion(-)
M internal/index/indexer.go → internal/index/indexer.go
@@ -101,7 +101,17 @@ optionMapping.AddSubDocumentMapping("Default", nixValueMapping) optionMapping.AddSubDocumentMapping("Example", nixValueMapping) + packageMapping := bleve.NewDocumentStaticMapping() + + packageMapping.AddFieldMappingsAt("Name", keywordFieldMapping) + packageMapping.AddFieldMappingsAt("Source", keywordFieldMapping) + packageMapping.AddFieldMappingsAt("Description", textFieldMapping) + packageMapping.AddFieldMappingsAt("MainProgram", keywordFieldMapping) + packageMapping.AddFieldMappingsAt("PackageSet", keywordFieldMapping) + packageMapping.AddFieldMappingsAt("Platforms", keywordFieldMapping) + indexMapping.AddDocumentMapping("option", optionMapping) + indexMapping.AddDocumentMapping("package", packageMapping) return indexMapping, nil }@@ -259,7 +269,7 @@ } var data bytes.Buffer enc := gob.NewEncoder(&data) - err = enc.Encode(obj) + err = enc.Encode(&obj) if err != nil { errs <- errors.WithMessage(err, "could not store object in search index")
M internal/nix/importable.go → internal/nix/importable.go
@@ -1,5 +1,7 @@ package nix +import "encoding/gob" + type Importable interface { BleveType() string GetName() string@@ -9,3 +11,8 @@ func GetKey(i Importable) string { return i.BleveType() + "/" + i.GetSource() + "/" + i.GetName() } + +func init() { + gob.Register(Option{}) + gob.Register(Package{}) +}