Documentation ¶
Overview ¶
Package core is riot core
Index ¶
- Variables
- func AddDocInfo(shard int, docId uint64, docinfo *types.DocInfo)
- func AddDocInfosShard(shard int)
- func AddInvertedIndexShard(shard int)
- func AddKeywordIndices(shard int, keyword string, keywordIndices *types.KeywordIndices)
- func Asc(data []uint64)
- func Desc(data []uint64)
- func IsSortedAsc(data []uint64) bool
- func IsSortedDesc(data []uint64) bool
- func StableAsc(data []uint64)
- func StableDesc(data []uint64)
- type Indexer
- func (indexer *Indexer) AddDocToCache(doc *types.DocIndex, forceUpdate bool)
- func (indexer *Indexer) AddDocs(docs *types.DocsIndex)
- func (indexer *Indexer) Init(options types.IndexerOpts)
- func (indexer *Indexer) LogicLookup(docIds map[uint64]bool, countDocsOnly bool, LogicExpr []string, ...) (docs []types.IndexedDoc, numDocs int)
- func (indexer *Indexer) Lookup(tokens []string, labels []string, docIds map[uint64]bool, countDocsOnly bool, ...) (docs []types.IndexedDoc, numDocs int)
- func (indexer *Indexer) RemoveDocToCache(docId uint64, forceUpdate bool) bool
- func (indexer *Indexer) RemoveDocs(docs *types.DocsId)
- type KeywordIndices
- type Ranker
- func (ranker *Ranker) AddDoc(docId uint64, fields interface{}, content ...interface{})
- func (ranker *Ranker) Init(onlyID ...bool)
- func (ranker *Ranker) Rank(docs []types.IndexedDoc, options types.RankOpts, countDocsOnly bool) (interface{}, int)
- func (ranker *Ranker) RankDoc(docs []types.IndexedDoc, options types.RankOpts, countDocsOnly bool) (types.ScoredIDs, int)
- func (ranker *Ranker) RankDocs(docs []types.IndexedDoc, options types.RankOpts, countDocsOnly bool) (types.ScoredDocs, int)
- func (ranker *Ranker) RemoveDoc(docId uint64)
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // DocInfoGroup 文档信息 [shard][id]info DocInfoGroup = make(map[int]*types.DocInfosShard) )
View Source
var ( // InvertedIndexGroup 反向索引表([shard][关键词]反向索引表) InvertedIndexGroup = make(map[int]*types.InvertedIndexShard) )
Functions ¶
func AddDocInfo ¶
AddDocInfo add documents info
func AddInvertedIndexShard ¶
func AddInvertedIndexShard(shard int)
AddInvertedIndexShard add inverted index shard
func AddKeywordIndices ¶
func AddKeywordIndices(shard int, keyword string, keywordIndices *types.KeywordIndices)
AddKeywordIndices add keyword indices
Types ¶
type Indexer ¶
type Indexer struct {
// contains filtered or unexported fields
}
Indexer 索引器
func (*Indexer) AddDocToCache ¶
AddDocToCache 向 ADDCACHE 中加入一个文档
func (*Indexer) LogicLookup ¶
func (indexer *Indexer) LogicLookup( docIds map[uint64]bool, countDocsOnly bool, LogicExpr []string, logic types.Logic) (docs []types.IndexedDoc, numDocs int)
LogicLookup logic Lookup
func (*Indexer) Lookup ¶
func (indexer *Indexer) Lookup( tokens []string, labels []string, docIds map[uint64]bool, countDocsOnly bool, logic ...types.Logic) (docs []types.IndexedDoc, numDocs int)
Lookup lookup docs 查找包含全部搜索键(AND操作)的文档 当 docIds 不为 nil 时仅从 docIds 指定的文档中查找
func (*Indexer) RemoveDocToCache ¶
RemoveDocToCache 向 REMOVECACHE 中加入一个待删除文档 返回值表示文档是否在索引表中被删除
func (*Indexer) RemoveDocs ¶
RemoveDocs 向反向索引表中删除 REMOVECACHE 中所有文档
type KeywordIndices ¶
type KeywordIndices struct {
// contains filtered or unexported fields
}
KeywordIndices 反向索引表的一行,收集了一个搜索键出现的所有文档,按照DocId从小到大排序。
type Ranker ¶
type Ranker struct {
// contains filtered or unexported fields
}
Ranker ranker
func (*Ranker) Rank ¶
func (ranker *Ranker) Rank(docs []types.IndexedDoc, options types.RankOpts, countDocsOnly bool) ( interface{}, int)
Rank rank docs 给文档评分并排序
func (*Ranker) RankDoc ¶
func (ranker *Ranker) RankDoc(docs []types.IndexedDoc, options types.RankOpts, countDocsOnly bool) (types.ScoredIDs, int)
RankDoc rank docs by types.ScoredIDs
Click to show internal directories.
Click to hide internal directories.