使用 BoltDB 开始使用 Bleve
Getting started with Bleve using BoltDB
我正努力全神贯注于 Bleve,我理解教程、视频和文档中发生的一切。然而,当我在 BoltDB 上使用它时,我感到非常困惑,不知道如何开始。
假设我有一个名为 data.db
的现有 BoltDB 数据库,其中填充了结构类型 Person
的值
type Person struct {
ID int `json:"id"`
Name string `json:"name"`
Age int `json:"age"`
Sex string `json:"sex"`
}
如何为这些数据编制索引以便进行搜索?如何处理将来存储在数据库中的数据的索引?
任何帮助将不胜感激。
如何为数据编制索引取决于您希望如何查询数据。
如果您想按任意字段进行查询,例如 {Age:15, Name:"Bob"},那么 BoltDB 不是您问题的理想选择。
BoltDB 只是一个键值存储,可以快速访问顺序键和高效的前缀查找。它并不是通用数据库的真正替代品。
您可能想要更像文档存储(即:MongoDB)或 RDBMS(即:PostgreSQL)的东西。
如果你只是想要使用简单文件并嵌入的东西,你也可以使用 SQlite with the Go module
如果您只想按单个字段(如 ID 或姓名)进行搜索,请将其用作键。
如果查找速度根本不重要,我想您可以使用 Bolt 来遍历整个数据库,解析 json 并检查字段。但这可能是您可以采取的最糟糕的方法。
Bleve 使用 BoltDB 作为多个后端存储之一,并且与您存储应用程序数据的位置分开。要在 Bleve 中索引您的数据,只需添加您的 Index
:
index.Index(person.ID, person)
index
与您的应用程序数据分开存在(无论是在 Bolt、Postgres 等中)。
要检索数据,您需要使用 bleve.NewSearchRequest()
构建搜索请求,然后调用 Index.Search()
。这将 return 一个 SearchResult
,其中包含一个 Hits
字段,您可以在其中检索对象的 ID
。您可以使用它在您的应用程序数据存储中查找对象。
免责声明:我是 BoltDB 的作者。
我正努力全神贯注于 Bleve,我理解教程、视频和文档中发生的一切。然而,当我在 BoltDB 上使用它时,我感到非常困惑,不知道如何开始。
假设我有一个名为 data.db
的现有 BoltDB 数据库,其中填充了结构类型 Person
type Person struct {
ID int `json:"id"`
Name string `json:"name"`
Age int `json:"age"`
Sex string `json:"sex"`
}
如何为这些数据编制索引以便进行搜索?如何处理将来存储在数据库中的数据的索引?
任何帮助将不胜感激。
如何为数据编制索引取决于您希望如何查询数据。
如果您想按任意字段进行查询,例如 {Age:15, Name:"Bob"},那么 BoltDB 不是您问题的理想选择。
BoltDB 只是一个键值存储,可以快速访问顺序键和高效的前缀查找。它并不是通用数据库的真正替代品。
您可能想要更像文档存储(即:MongoDB)或 RDBMS(即:PostgreSQL)的东西。
如果你只是想要使用简单文件并嵌入的东西,你也可以使用 SQlite with the Go module
如果您只想按单个字段(如 ID 或姓名)进行搜索,请将其用作键。
如果查找速度根本不重要,我想您可以使用 Bolt 来遍历整个数据库,解析 json 并检查字段。但这可能是您可以采取的最糟糕的方法。
Bleve 使用 BoltDB 作为多个后端存储之一,并且与您存储应用程序数据的位置分开。要在 Bleve 中索引您的数据,只需添加您的 Index
:
index.Index(person.ID, person)
index
与您的应用程序数据分开存在(无论是在 Bolt、Postgres 等中)。
要检索数据,您需要使用 bleve.NewSearchRequest()
构建搜索请求,然后调用 Index.Search()
。这将 return 一个 SearchResult
,其中包含一个 Hits
字段,您可以在其中检索对象的 ID
。您可以使用它在您的应用程序数据存储中查找对象。
免责声明:我是 BoltDB 的作者。