package types
// 这些常数定义了反向索引表存储的数据类型
const (
// 仅存储文档的docId
DocIdsIndex = 0
// 存储关键词的词频,用于计算BM25
FrequenciesIndex = 1
// 存储关键词在文档中出现的具体字节位置(可能有多个)
// 如果你希望得到关键词紧邻度数据,必须使用LocationsIndex类型的索引
LocationsIndex = 2
// 默认插入索引表文档 CACHE SIZE
defaultDocCacheSize = 300000
)
// 初始化索引器选项
type IndexerInitOptions struct {
// 索引表的类型,见上面的常数
IndexType int
// 待插入索引表文档 CACHE SIZE
DocCacheSize int
// BM25参数
BM25Parameters *BM25Parameters
}
// 见http://en.wikipedia.org/wiki/Okapi_BM25
// 默认值见engine_init_options.go
type BM25Parameters struct {
K1 float32
B float32
}
func (options *IndexerInitOptions) Init() {
if options.DocCacheSize == 0 {
options.DocCacheSize = defaultDocCacheSize
}
}