 Documentation
      ¶
      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