diff options
Diffstat (limited to 'internal/index/indexer.go')
-rw-r--r-- | internal/index/indexer.go | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/internal/index/indexer.go b/internal/index/indexer.go index 8cbc8e2..7591aef 100644 --- a/internal/index/indexer.go +++ b/internal/index/indexer.go @@ -8,6 +8,7 @@ import ( "math" "os" "path" + "path/filepath" "slices" "go.alanpearce.eu/searchix/internal/file" @@ -31,6 +32,11 @@ import ( "gitlab.com/tozd/go/errors" ) +type Options struct { + LowMemory bool + Logger *log.Logger +} + type WriteIndex struct { index bleve.Index log *log.Logger @@ -93,13 +99,6 @@ func createIndexMapping() (mapping.IndexMapping, errors.E) { if err != nil { return nil, errors.WithMessage(err, "could not add custom analyser") } - err = indexMapping.AddCustomAnalyzer("keyword_single", map[string]any{ - "type": keyword.Name, - "tokenizer": letter.Name, - }) - if err != nil { - return nil, errors.WithMessage(err, "could not add custom analyser") - } identityFieldMapping := bleve.NewKeywordFieldMapping() @@ -210,11 +209,6 @@ func deleteIndex(dataRoot string) errors.E { return nil } -type Options struct { - LowMemory bool - Logger *log.Logger -} - func OpenOrCreate( dataRoot string, force bool, @@ -222,6 +216,13 @@ func OpenOrCreate( ) (*ReadIndex, *WriteIndex, bool, errors.E) { var err errors.E bleve.SetLog(zap.NewStdLog(options.Logger.Named("bleve").GetLogger())) + if !filepath.IsAbs(dataRoot) { + wd, err := os.Getwd() + if err != nil { + return nil, nil, false, errors.WithMessagef(err, "could not get working directory") + } + dataRoot = filepath.Join(wd, dataRoot) + } indexPath := path.Join(dataRoot, indexBaseName) metaPath := path.Join(dataRoot, metaBaseName) |