64 lines
2.5 KiB
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
|
|
}
|