Documentation ¶
Index ¶
- Variables
- func Init()
- func IsAvailable() bool
- func PerformSearch(ctx context.Context, repoIDs []int64, language, keyword string, ...) (int, []*Result, []*SearchResultLanguages, error)
- func UpdateRepoIndexer(repo *repo_model.Repository)
- type BleveIndexer
- func (b *BleveIndexer) Close()
- func (b *BleveIndexer) Delete(repoID int64) error
- func (b *BleveIndexer) Index(ctx context.Context, repo *repo_model.Repository, sha string, ...) error
- func (b *BleveIndexer) Ping() bool
- func (b *BleveIndexer) Search(ctx context.Context, repoIDs []int64, language, keyword string, ...) (int64, []*SearchResult, []*SearchResultLanguages, error)
- type ElasticSearchIndexer
- func (b *ElasticSearchIndexer) Close()
- func (b *ElasticSearchIndexer) Delete(repoID int64) error
- func (b *ElasticSearchIndexer) Index(ctx context.Context, repo *repo_model.Repository, sha string, ...) error
- func (b *ElasticSearchIndexer) Ping() bool
- func (b *ElasticSearchIndexer) Search(ctx context.Context, repoIDs []int64, language, keyword string, ...) (int64, []*SearchResult, []*SearchResultLanguages, error)
- type Indexer
- type IndexerData
- type RepoIndexerData
- type Result
- type SearchResult
- type SearchResultLanguages
Constants ¶
This section is empty.
Variables ¶
var ErrWrappedIndexerClosed = fmt.Errorf("Indexer closed before ready")
ErrWrappedIndexerClosed is the error returned if the indexer was closed before it was ready
Functions ¶
func PerformSearch ¶
func PerformSearch(ctx context.Context, repoIDs []int64, language, keyword string, page, pageSize int, isMatch bool) (int, []*Result, []*SearchResultLanguages, error)
PerformSearch perform a search on a repository
func UpdateRepoIndexer ¶
func UpdateRepoIndexer(repo *repo_model.Repository)
UpdateRepoIndexer update a repository's entries in the indexer
Types ¶
type BleveIndexer ¶
type BleveIndexer struct {
// contains filtered or unexported fields
}
BleveIndexer represents a bleve indexer implementation
func NewBleveIndexer ¶
func NewBleveIndexer(indexDir string) (*BleveIndexer, bool, error)
NewBleveIndexer creates a new bleve local indexer
func (*BleveIndexer) Delete ¶
func (b *BleveIndexer) Delete(repoID int64) error
Delete deletes indexes by ids
func (*BleveIndexer) Index ¶
func (b *BleveIndexer) Index(ctx context.Context, repo *repo_model.Repository, sha string, changes *repoChanges) error
Index indexes the data
func (*BleveIndexer) Search ¶
func (b *BleveIndexer) Search(ctx context.Context, repoIDs []int64, language, keyword string, page, pageSize int, isMatch bool) (int64, []*SearchResult, []*SearchResultLanguages, error)
Search searches for files in the specified repo. Returns the matching file-paths
type ElasticSearchIndexer ¶
type ElasticSearchIndexer struct {
// contains filtered or unexported fields
}
ElasticSearchIndexer implements Indexer interface
func NewElasticSearchIndexer ¶
func NewElasticSearchIndexer(url, indexerName string) (*ElasticSearchIndexer, bool, error)
NewElasticSearchIndexer creates a new elasticsearch indexer
func (*ElasticSearchIndexer) Close ¶
func (b *ElasticSearchIndexer) Close()
Close implements indexer
func (*ElasticSearchIndexer) Delete ¶
func (b *ElasticSearchIndexer) Delete(repoID int64) error
Delete deletes indexes by ids
func (*ElasticSearchIndexer) Index ¶
func (b *ElasticSearchIndexer) Index(ctx context.Context, repo *repo_model.Repository, sha string, changes *repoChanges) error
Index will save the index data
func (*ElasticSearchIndexer) Ping ¶
func (b *ElasticSearchIndexer) Ping() bool
Ping checks if elastic is available
func (*ElasticSearchIndexer) Search ¶
func (b *ElasticSearchIndexer) Search(ctx context.Context, repoIDs []int64, language, keyword string, page, pageSize int, isMatch bool) (int64, []*SearchResult, []*SearchResultLanguages, error)
Search searches for codes and language stats by given conditions.
type Indexer ¶
type Indexer interface { Ping() bool Index(ctx context.Context, repo *repo_model.Repository, sha string, changes *repoChanges) error Delete(repoID int64) error Search(ctx context.Context, repoIDs []int64, language, keyword string, page, pageSize int, isMatch bool) (int64, []*SearchResult, []*SearchResultLanguages, error) Close() }
Indexer defines an interface to index and search code contents
type IndexerData ¶
type IndexerData struct {
RepoID int64
}
IndexerData represents data stored in the code indexer
type RepoIndexerData ¶
type RepoIndexerData struct { RepoID int64 CommitID string Content string Language string UpdatedAt time.Time }
RepoIndexerData data stored in the repo indexer
func (*RepoIndexerData) Type ¶
func (d *RepoIndexerData) Type() string
Type returns the document type, for bleve's mapping.Classifier interface.
type Result ¶
type Result struct { RepoID int64 Filename string CommitID string UpdatedUnix timeutil.TimeStamp Language string Color string LineNumbers []int FormattedLines string }
Result a search result to display
type SearchResult ¶
type SearchResult struct { RepoID int64 StartIndex int EndIndex int Filename string Content string CommitID string UpdatedUnix timeutil.TimeStamp Language string Color string }
SearchResult result of performing a search in a repo
type SearchResultLanguages ¶
SearchResultLanguages result of top languages count in search results