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
    }
}

index_init_oprions.go的更多相关文章

随机推荐

  1. mysql基础优化-explain的使用-mysql死锁

    MySQL的优化 主要包括三个方面,首先是SQL语句的优化,其次是表结构的优化(这里主要指索引的优化),最后是服务器配置的优化. 一.SQL语句的优化 在 where 及 order by 涉及的列上 ...

  2. ASP.NET MVC不可或缺的部分——DI(IOC)容器及控制器重构的剖析(DI的实现原理)

    IoC框架最本质的东西:反射或者EMIT来实例化对象.然后我们可以加上缓存,或者一些策略来控制对象的生命周期,比如是否是单例对象还是每次都生成一个新的对象. DI实现其实很简单,首先设计类来实现接口, ...

  3. Oracle常用数据库对象(片段)

    1:用户和权限 1.1 用户的创建 a)语法---    create user 用户名  identified by 密码: b)创建用户abcd,并设定密码为abcd;---注意:操作数据库对象是 ...

  4. nifi1.6.0汉化

    1.1 测试机 l  Apache NiFi 1.6.0 l  HDP 2.6.3 l  集群规模:单节点 l  操作系统:CentOs7 l  以下所有操作均在root用户下执行 1.2 安装环境 ...

  5. Android平台的Swift—Kotlin

    WeTest 导读 Kotlin 已经出来较长一段时间了,有些同学已经对Kotlin进行了深入的学习,甚至已经运用到了自己的项目当中,但是还有较多同学可能只是听过Kotlin或简单了解过,这篇文章的目 ...

  6. jQuery选择器面试题

    $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("di ...

  7. java——封装和关键字

    封装:将类的属性和方法的实现细节隐藏起来的过程 封装的好处:1重用性(代码)2,利于分工3,隐藏细节 访问关键字:public private 默认访问修饰符,protected static关键字 ...

  8. 关于MVC的特性(AuthorizeAttribute)的一些理解

    许多 Web 应用程序要求在用户登录之后才授予其对受限制内容的访问权限. 在某些应用程序中,即使是登录的用户,也会限制他们可以查看的内容或可以编辑的字段. 要限制对 ASP.NET MVC 视图的访问 ...

  9. THINKPHP 调试------输出sql语句

    echo $model->getLastSql();//$model为实例化的模板类

  10. DataTime显示格式【转】

    随心所欲的DateTime显示格式 任何项目,难免会碰到DateTime的显示问题,.net框架虽提供丰富多样的显示方法,但我很少使用,因老忘记细节,每次都要纠结到底月份在前还是年份在前:日期分隔符到 ...