indexer_init_options.go 968 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package types
  2. // 这些常数定义了反向索引表存储的数据类型
  3. const (
  4. // 仅存储文档的docId
  5. DocIdsIndex = 0
  6. // 存储关键词的词频,用于计算BM25
  7. FrequenciesIndex = 1
  8. // 存储关键词在文档中出现的具体字节位置(可能有多个)
  9. // 如果你希望得到关键词紧邻度数据,必须使用LocationsIndex类型的索引
  10. LocationsIndex = 2
  11. // 默认插入索引表文档 CACHE SIZE
  12. defaultDocCacheSize = 300000
  13. )
  14. // 初始化索引器选项
  15. type IndexerInitOptions struct {
  16. // 索引表的类型,见上面的常数
  17. IndexType int
  18. // 待插入索引表文档 CACHE SIZE
  19. DocCacheSize int
  20. // BM25参数
  21. BM25Parameters *BM25Parameters
  22. }
  23. // 见http://en.wikipedia.org/wiki/Okapi_BM25
  24. // 默认值见engine_init_options.go
  25. type BM25Parameters struct {
  26. K1 float32
  27. B float32
  28. }
  29. func (options *IndexerInitOptions) Init() {
  30. if options.DocCacheSize == 0 {
  31. options.DocCacheSize = defaultDocCacheSize
  32. }
  33. }