issues

package
v1.18.2 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2023 License: MIT Imports: 29 Imported by: 13

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteRepoIssueIndexer

func DeleteRepoIssueIndexer(repo *repo_model.Repository)

DeleteRepoIssueIndexer deletes repo's all issues indexes

func InitIssueIndexer

func InitIssueIndexer(syncReindex bool)

InitIssueIndexer initialize issue indexer, syncReindex is true then reindex until all issue index done.

func IsAvailable added in v1.17.0

func IsAvailable() bool

IsAvailable checks if issue indexer is available

func SearchIssuesByKeyword

func SearchIssuesByKeyword(ctx context.Context, repoIDs []int64, keyword string) ([]int64, error)

SearchIssuesByKeyword search issue ids by keywords and repo id WARNNING: You have to ensure user have permission to visit repoIDs' issues

func UpdateIssueIndexer

func UpdateIssueIndexer(issue *issues_model.Issue)

UpdateIssueIndexer add/update an issue to the issue indexer

func UpdateRepoIndexer added in v1.10.2

func UpdateRepoIndexer(repo *repo_model.Repository)

UpdateRepoIndexer add/update all issues of the repositories

Types

type BleveIndexer

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

BleveIndexer implements Indexer interface

func NewBleveIndexer

func NewBleveIndexer(indexDir string) *BleveIndexer

NewBleveIndexer creates a new bleve local indexer

func (*BleveIndexer) Close added in v1.11.0

func (b *BleveIndexer) Close()

Close will close the bleve indexer

func (*BleveIndexer) Delete

func (b *BleveIndexer) Delete(ids ...int64) error

Delete deletes indexes by ids

func (*BleveIndexer) Index

func (b *BleveIndexer) Index(issues []*IndexerData) error

Index will save the index data

func (*BleveIndexer) Init

func (b *BleveIndexer) Init() (bool, error)

Init will initialize the indexer

func (*BleveIndexer) Ping added in v1.17.0

func (b *BleveIndexer) Ping() bool

Ping does nothing

func (*BleveIndexer) Search

func (b *BleveIndexer) Search(ctx context.Context, keyword string, repoIDs []int64, limit, start int) (*SearchResult, error)

Search searches for issues by given conditions. Returns the matching issue IDs

func (*BleveIndexer) SetAvailabilityChangeCallback added in v1.17.0

func (b *BleveIndexer) SetAvailabilityChangeCallback(callback func(bool))

SetAvailabilityChangeCallback does nothing

type BleveIndexerData

type BleveIndexerData IndexerData

BleveIndexerData an update to the issue indexer

func (*BleveIndexerData) Type

func (i *BleveIndexerData) Type() string

Type returns the document type, for bleve's mapping.Classifier interface.

type DBIndexer

type DBIndexer struct{}

DBIndexer implements Indexer interface to use database's like search

func (*DBIndexer) Close added in v1.11.0

func (i *DBIndexer) Close()

Close dummy function

func (*DBIndexer) Delete

func (i *DBIndexer) Delete(ids ...int64) error

Delete dummy function

func (*DBIndexer) Index

func (i *DBIndexer) Index(issue []*IndexerData) error

Index dummy function

func (*DBIndexer) Init

func (i *DBIndexer) Init() (bool, error)

Init dummy function

func (*DBIndexer) Ping added in v1.17.0

func (i *DBIndexer) Ping() bool

Ping checks if database is available

func (*DBIndexer) Search

func (i *DBIndexer) Search(ctx context.Context, kw string, repoIDs []int64, limit, start int) (*SearchResult, error)

Search dummy function

func (*DBIndexer) SetAvailabilityChangeCallback added in v1.17.0

func (i *DBIndexer) SetAvailabilityChangeCallback(callback func(bool))

SetAvailabilityChangeCallback dummy function

type ElasticSearchIndexer added in v1.12.0

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

ElasticSearchIndexer implements Indexer interface

func NewElasticSearchIndexer added in v1.12.0

func NewElasticSearchIndexer(url, indexerName string) (*ElasticSearchIndexer, error)

NewElasticSearchIndexer creates a new elasticsearch indexer

func (*ElasticSearchIndexer) Close added in v1.12.0

func (b *ElasticSearchIndexer) Close()

Close implements indexer

func (*ElasticSearchIndexer) Delete added in v1.12.0

func (b *ElasticSearchIndexer) Delete(ids ...int64) error

Delete deletes indexes by ids

func (*ElasticSearchIndexer) Index added in v1.12.0

func (b *ElasticSearchIndexer) Index(issues []*IndexerData) error

Index will save the index data

func (*ElasticSearchIndexer) Init added in v1.12.0

func (b *ElasticSearchIndexer) Init() (bool, error)

Init will initialize the indexer

func (*ElasticSearchIndexer) Ping added in v1.17.0

func (b *ElasticSearchIndexer) Ping() bool

Ping checks if elastic is available

func (*ElasticSearchIndexer) Search added in v1.12.0

func (b *ElasticSearchIndexer) Search(ctx context.Context, keyword string, repoIDs []int64, limit, start int) (*SearchResult, error)

Search searches for issues by given conditions. Returns the matching issue IDs

func (*ElasticSearchIndexer) SetAvailabilityChangeCallback added in v1.17.0

func (b *ElasticSearchIndexer) SetAvailabilityChangeCallback(callback func(bool))

SetAvailabilityChangeCallback sets callback that will be triggered when availability changes

type Indexer

type Indexer interface {
	Init() (bool, error)
	Ping() bool
	SetAvailabilityChangeCallback(callback func(bool))
	Index(issue []*IndexerData) error
	Delete(ids ...int64) error
	Search(ctx context.Context, kw string, repoIDs []int64, limit, start int) (*SearchResult, error)
	Close()
}

Indexer defines an interface to indexer issues contents

type IndexerData

type IndexerData struct {
	ID       int64    `json:"id"`
	RepoID   int64    `json:"repo_id"`
	Title    string   `json:"title"`
	Content  string   `json:"content"`
	Comments []string `json:"comments"`
	IsDelete bool     `json:"is_delete"`
	IDs      []int64  `json:"ids"`
}

IndexerData data stored in the issue indexer

type Match

type Match struct {
	ID    int64   `json:"id"`
	Score float64 `json:"score"`
}

Match represents on search result

type SearchResult

type SearchResult struct {
	Total int64
	Hits  []Match
}

SearchResult represents search results

Jump to

Keyboard shortcuts

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