Files
satbd-explorer/album_mapping.go

64 lines
2.5 KiB
Go

package main
import (
"github.com/blevesearch/bleve"
"github.com/blevesearch/bleve/analysis/analyzers/keyword_analyzer"
"github.com/blevesearch/bleve/analysis/analyzers/simple_analyzer"
"github.com/blevesearch/bleve/analysis/language/fr"
)
func buildAlbumMapping() *bleve.IndexMapping {
simpleMapping := bleve.NewTextFieldMapping()
simpleMapping.Analyzer = simple_analyzer.Name
frenchTextMapping := bleve.NewTextFieldMapping()
frenchTextMapping.Analyzer = fr.AnalyzerName
keywordFieldMapping := bleve.NewTextFieldMapping()
keywordFieldMapping.Analyzer = keyword_analyzer.Name
keywordFieldMapping.IncludeInAll = false
numericDisabled := bleve.NewNumericFieldMapping()
numericDisabled.Index = false
numericDisabled.Store = false
numericDisabled.IncludeInAll = false
textDisabled := bleve.NewTextFieldMapping()
textDisabled.Index = false
textDisabled.Store = false
textDisabled.IncludeInAll = false
dateDisabled := bleve.NewDateTimeFieldMapping()
dateDisabled.Index = false
dateDisabled.Store = false
dateDisabled.IncludeInAll = false
albumMapping := bleve.NewDocumentStaticMapping()
albumMapping.AddFieldMappingsAt("ID", numericDisabled)
albumMapping.AddFieldMappingsAt("ISBN", keywordFieldMapping)
albumMapping.AddFieldMappingsAt("Series", frenchTextMapping)
albumMapping.AddFieldMappingsAt("Title", frenchTextMapping)
albumMapping.AddFieldMappingsAt("Num", numericDisabled)
albumMapping.AddFieldMappingsAt("NumA", textDisabled)
albumMapping.AddFieldMappingsAt("State", numericDisabled)
albumMapping.AddFieldMappingsAt("Editor", simpleMapping)
albumMapping.AddFieldMappingsAt("Collection", frenchTextMapping)
albumMapping.AddFieldMappingsAt("SatID", keywordFieldMapping)
albumMapping.AddFieldMappingsAt("Description", frenchTextMapping)
albumMapping.AddFieldMappingsAt("LegalDeposit", dateDisabled)
albumMapping.AddFieldMappingsAt("PrintDate", dateDisabled)
albumMapping.AddFieldMappingsAt("PurchaseDate", dateDisabled)
albumMapping.AddFieldMappingsAt("CoverURL", dateDisabled)
albumMapping.AddFieldMappingsAt("Note", bleve.NewNumericFieldMapping())
albumMapping.AddFieldMappingsAt("Scenarists", simpleMapping)
albumMapping.AddFieldMappingsAt("Designers", simpleMapping)
albumMapping.AddFieldMappingsAt("Colorists", simpleMapping)
albumMapping.AddFieldMappingsAt("Colorists", textDisabled)
albumMapping.AddFieldMappingsAt("FetchDate", dateDisabled)
indexMapping := bleve.NewIndexMapping()
indexMapping.AddDocumentMapping("album", albumMapping)
return indexMapping
}