Как индексировать определенные пользователем типы 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?

0 ответов

Другие вопросы по тегам