issues

package
v0.19.4 Latest Latest
Warning

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

Go to latest
Published: May 24, 2023 License: MIT Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteRepoIssueIndexer

func DeleteRepoIssueIndexer(ctx context.Context, 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

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

func UpdateRepoIndexer(ctx context.Context, 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

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

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

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

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

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

type ElasticSearchIndexer

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

ElasticSearchIndexer implements Indexer interface

func NewElasticSearchIndexer

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

NewElasticSearchIndexer creates a new elasticsearch indexer

func (*ElasticSearchIndexer) Close

func (b *ElasticSearchIndexer) Close()

Close implements indexer

func (*ElasticSearchIndexer) Delete

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

Delete deletes indexes by ids

func (*ElasticSearchIndexer) Index

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

Index will save the index data

func (*ElasticSearchIndexer) Init

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

Init will initialize the indexer

func (*ElasticSearchIndexer) Ping

func (b *ElasticSearchIndexer) Ping() bool

Ping checks if elastic is available

func (*ElasticSearchIndexer) Search

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

type Indexer

type Indexer interface {
	Init() (bool, error)
	Ping() 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 MeilisearchIndexer

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

MeilisearchIndexer implements Indexer interface

func NewMeilisearchIndexer

func NewMeilisearchIndexer(url, apiKey, indexerName string) (*MeilisearchIndexer, error)

MeilisearchIndexer creates a new meilisearch indexer

func (*MeilisearchIndexer) Close

func (b *MeilisearchIndexer) Close()

Close implements indexer

func (*MeilisearchIndexer) Delete

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

Delete deletes indexes by ids

func (*MeilisearchIndexer) Index

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

Index will save the index data

func (*MeilisearchIndexer) Init

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

Init will initialize the indexer

func (*MeilisearchIndexer) Ping

func (b *MeilisearchIndexer) Ping() bool

Ping checks if meilisearch is available

func (*MeilisearchIndexer) Search

func (b *MeilisearchIndexer) 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

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