index_init_oprions.go

本文详细介绍了反向索引表中不同数据类型的存储方式,包括仅存储文档ID、存储词频用于计算BM25算法以及存储关键词的具体位置等。此外还介绍了索引器初始化选项和BM25参数的设置。
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
    }
}

转载于:https://www.cnblogs.com/zhangboyu/p/7461646.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值