Как индексировать определенные пользователем типы Struct в Blevesearch?
Type Doc struct {
Text string `json:"text"`
}
type Cluster struct {
Label string `json:"label"`
Docs []Document `json:"docs"`
}
Я анализирую данные из файла JSON в тип кластера. И я намерен индексировать массив кластеров, что-то вроде этого -
indexer.index(cluster.Label, cluster.Docs)
Я использую indexMapping следующим образом:
textFieldMapping := bleve.NewTextFieldMapping()
textFieldMapping.Analyzer = simple.Name
docMapping := bleve.NewDocumentMapping()
// label
docMapping.AddFieldMappingsAt("label", textFieldMapping)
// docs
docMapping.AddFieldMappingsAt("docs", textFieldMapping)
indexMapping := bleve.NewIndexMapping()
indexMapping.AddDocumentMapping("docs", docMapping)
indexMapping.TypeField = "label"
indexMapping.DefaultAnalyzer = simple.Name
Кажется, это работает, и когда я сделал запрос со словом из какого-то документа, я получаю правильную категорию (в данном случае метка). Однако я не получаю полный документ и не вижу на нем также полей.
Как мне сделать так, как если бы я напрямую запустил json через DocumentMapping?