riot

package module
v0.0.0-...-25bd36e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2018 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package riot is riot engine

Package riot full text search engine

Index

Constants

View Source
const (
	// Version get the riot version
	Version string = "v0.10.0.425, Danube River!"

	// NumNanosecondsInAMillisecond nano-seconds in a milli-second num
	NumNanosecondsInAMillisecond = 1000000
	// StoreFilePrefix persistent store file prefix
	StoreFilePrefix = "riot"

	// DefaultPath default db path
	DefaultPath = "./riot-index"
)

Variables

View Source
var (

	// InitMemUsed init mem used
	InitMemUsed uint64
	// InitDiskUsed init disk used
	InitDiskUsed uint64
)

Functions

func CPUInfo

func CPUInfo(args ...int) (string, error)

CPUInfo returns the cpu info

func CPUPercent

func CPUPercent() ([]float64, error)

CPUPercent returns the amount of use cpu in percent.

func DiskFree

func DiskFree() (uint64, error)

DiskFree returns the amount of free disk in bytes.

func DiskPercent

func DiskPercent() (string, error)

DiskPercent returns the amount of use disk in percent.

func DiskTotal

func DiskTotal() (uint64, error)

DiskTotal returns the amount of total disk in bytes.

func DiskUsed

func DiskUsed() (uint64, error)

DiskUsed returns the amount of use disk in bytes.

func GetVersion

func GetVersion() string

GetVersion get the riot version

func KernelVer

func KernelVer() (string, error)

KernelVer returns the kernel version as a string.

func MemFree

func MemFree() (uint64, error)

MemFree returns the amount of free memory in bytes.

func MemPercent

func MemPercent() (string, error)

MemPercent returns the amount of use memory in percent.

func MemTotal

func MemTotal() (uint64, error)

MemTotal returns the amount of total memory in bytes.

func MemUsed

func MemUsed() (uint64, error)

MemUsed returns the amount of used memory in bytes.

func Platform

func Platform() (string, error)

Platform returns the platform name and OS Version.

func PlatformInfo

func PlatformInfo() (platform, family, osVersion string, err error)

PlatformInfo fetches system platform information.

func ToGB

func ToGB(data uint64) uint64

ToGB bytes to gb

func ToKB

func ToKB(data uint64) uint64

ToKB bytes to kb

func ToMB

func ToMB(data uint64) uint64

ToMB bytes to mb

func Try

func Try(fun func(), handler func(interface{}))

Try handler(err)

func Uptime

func Uptime() (uptime uint64, err error)

Uptime returns the system uptime in seconds.

Types

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

Engine initialize the engine

func New

func New(conf ...interface{}) *Engine

New create a new engine with mode

func NewEngine

func NewEngine(conf ...interface{}) *Engine

NewEngine create a new engine

func (*Engine) CheckMem

func (engine *Engine) CheckMem()

CheckMem check the memory when the memory is larger than 99.99% using the store

func (*Engine) Close

func (engine *Engine) Close()

Close close the engine 关闭引擎

func (*Engine) Flush

func (engine *Engine) Flush()

Flush block wait until all indexes are added 阻塞等待直到所有索引添加完毕

func (*Engine) FlushIndex

func (engine *Engine) FlushIndex()

FlushIndex block wait until all indexes are added 阻塞等待直到所有索引添加完毕

func (*Engine) ForSplitData

func (engine *Engine) ForSplitData(strData []string, num int) (TMap, int)

ForSplitData for split segment's data, segspl

func (*Engine) GetAllDocIds

func (engine *Engine) GetAllDocIds() []uint64

GetAllDocIds get all the DocId from the storage database and return 从数据库遍历所有的 DocId, 并返回

func (*Engine) GetDBAllDocs

func (engine *Engine) GetDBAllDocs() (
	docsId []uint64, docsData []types.DocData)

GetDBAllDocs get the db all docs

func (*Engine) GetDBAllIds

func (engine *Engine) GetDBAllIds() []uint64

GetDBAllIds get all the DocId from the storage database and return 从数据库遍历所有的 DocId, 并返回

func (*Engine) HasDoc

func (engine *Engine) HasDoc(docId uint64) bool

HasDoc if the document is exist return true

func (*Engine) HasDocDB

func (engine *Engine) HasDocDB(docId uint64) bool

HasDocDB if the document is exist in the database return true

func (*Engine) Index

func (engine *Engine) Index(docId uint64, data types.DocData,
	forceUpdate ...bool)

Index add the document to the index

func (*Engine) IndexDoc

func (engine *Engine) IndexDoc(docId uint64, data types.DocData,
	forceUpdate ...bool)

IndexDoc add the document to the index 将文档加入索引

输入参数:

docId	      标识文档编号,必须唯一,docId == 0 表示非法文档(用于强制刷新索引),[1, +oo) 表示合法文档
data	      见 DocIndexData 注释
forceUpdate 是否强制刷新 cache,如果设为 true,则尽快添加到索引,否则等待 cache 满之后一次全量添加

注意:

  1. 这个函数是线程安全的,请尽可能并发调用以提高索引速度
  2. 这个函数调用是非同步的,也就是说在函数返回时有可能文档还没有加入索引中,因此 如果立刻调用Search可能无法查询到这个文档。强制刷新索引请调用FlushIndex函数。

func (*Engine) Indexer

func (engine *Engine) Indexer(options types.EngineOpts)

Indexer initialize the indexer channel

func (*Engine) Init

func (engine *Engine) Init(options types.EngineOpts)

Init initialize the engine

func (*Engine) InitStore

func (engine *Engine) InitStore()

InitStore initialize the persistent store channel

func (*Engine) NumDocsIndexed

func (engine *Engine) NumDocsIndexed() uint64

NumDocsIndexed documents indexed number, deprecated

func (*Engine) NumDocsRemoved

func (engine *Engine) NumDocsRemoved() uint64

NumDocsRemoved documents removed number, deprecated

func (*Engine) NumIndexed

func (engine *Engine) NumIndexed() uint64

NumIndexed documents indexed number

func (*Engine) NumRemoved

func (engine *Engine) NumRemoved() uint64

NumRemoved documents removed number

func (*Engine) NumTokenAdded

func (engine *Engine) NumTokenAdded() uint64

NumTokenAdded added token index number

func (*Engine) NumTokenIndexAdded

func (engine *Engine) NumTokenIndexAdded() uint64

NumTokenIndexAdded added token index number, deprecated

func (*Engine) PinYin

func (engine *Engine) PinYin(hans string) []string

PinYin get the Chinese alphabet and abbreviation

func (*Engine) RankID

func (engine *Engine) RankID(request types.SearchReq, rankOpts types.RankOpts,
	tokens []string, rankerReturnChan chan rankerReturnReq) (
	output types.SearchResp)

RankID rank docs by types.ScoredIDs

func (*Engine) Ranker

func (engine *Engine) Ranker(options types.EngineOpts)

Ranker initialize the ranker channel

func (*Engine) Ranks

func (engine *Engine) Ranks(request types.SearchReq, rankOpts types.RankOpts,
	tokens []string, rankerReturnChan chan rankerReturnReq) (
	output types.SearchResp)

Ranks rank docs by types.ScoredDocs

func (*Engine) RemoveDoc

func (engine *Engine) RemoveDoc(docId uint64, forceUpdate ...bool)

RemoveDoc remove the document from the index 将文档从索引中删除

输入参数:

docId	      标识文档编号,必须唯一,docId == 0 表示非法文档(用于强制刷新索引),[1, +oo) 表示合法文档
forceUpdate 是否强制刷新 cache,如果设为 true,则尽快删除索引,否则等待 cache 满之后一次全量删除

注意:

  1. 这个函数是线程安全的,请尽可能并发调用以提高索引速度
  2. 这个函数调用是非同步的,也就是说在函数返回时有可能文档还没有加入索引中,因此 如果立刻调用 Search 可能无法查询到这个文档。强制刷新索引请调用 FlushIndex 函数。

func (*Engine) Search

func (engine *Engine) Search(request types.SearchReq) (output types.SearchResp)

Search find the document that satisfies the search criteria. This function is thread safe 查找满足搜索条件的文档,此函数线程安全

func (*Engine) SearchDoc

func (engine *Engine) SearchDoc(request types.SearchReq) (output types.SearchDoc)

SearchDoc find the document that satisfies the search criteria. This function is thread safe, return not IDonly

func (*Engine) SearchID

func (engine *Engine) SearchID(request types.SearchReq) (output types.SearchID)

SearchID find the document that satisfies the search criteria. This function is thread safe, return IDonly

func (*Engine) Segment

func (engine *Engine) Segment(content string) (keywords []string)

Segment get the word segmentation result of the text 获取文本的分词结果, 只分词与过滤弃用词

func (*Engine) Store

func (engine *Engine) Store()

Store start the persistent store work connection

func (*Engine) Tokens

func (engine *Engine) Tokens(request types.SearchReq) (tokens []string)

Tokens get the engine tokens

func (*Engine) UsedDisk

func (engine *Engine) UsedDisk() (uint64, error)

UsedDisk returns the amount of use disk in bytes after init() func.

func (*Engine) UsedMem

func (engine *Engine) UsedMem() (uint64, error)

UsedMem returns the amount of riot used memory in bytes after init() func.

func (*Engine) WithGse

func (engine *Engine) WithGse(segmenter gse.Segmenter) *Engine

WithGse Using user defined segmenter If using a not nil segmenter and the dictionary is loaded, the `opt.GseDict` will be ignore.

type StopTokens

type StopTokens struct {
	// contains filtered or unexported fields
}

StopTokens stop tokens map

func (*StopTokens) Init

func (st *StopTokens) Init(stopTokenFile string)

Init 从 stopTokenFile 中读入停用词,一个词一行 文档索引建立时会跳过这些停用词

func (*StopTokens) IsStopToken

func (st *StopTokens) IsStopToken(token string) bool

IsStopToken to determine whether to stop token

type TMap

type TMap map[string][]int

TMap defines the tokens map type map[string][]int

Directories

Path Synopsis
Package core is riot core
Package core is riot core
Package types is riot types
Package types is riot types

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL