Documentation
¶
Index ¶
- func RegisterInstance(elastic string, cfg ElasticsearchConfig, handler API)
- type API
- type Aggregation
- type AggregationRequest
- type AggregationResponse
- type BoolQuery
- type Bucket
- type ClusterHealth
- type ClusterVersion
- type CountResponse
- type DeleteResponse
- type ElasticsearchConfig
- type GetResponse
- type IndexDocument
- type Indexes
- type InsertResponse
- type MappingAPI
- type MatchQuery
- type Query
- type QueryStringQuery
- type RangeQuery
- type ScrollAPI
- type ScrollResponse
- type ScrollResponseAPI
- type ScrollResponseV7
- type SearchRequest
- type SearchResponse
- type ShardResponse
- type TemplateAPI
- type TermsAggregationQuery
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterInstance ¶
func RegisterInstance(elastic string, cfg ElasticsearchConfig, handler API)
Types ¶
type API ¶
type API interface {
ScrollAPI
MappingAPI
TemplateAPI
Init()
ClusterHealth() *ClusterHealth
ClusterVersion() *ClusterVersion
CreateIndex(name string, settings map[string]interface{}) error
Index(indexName string, id interface{}, data interface{}) (*InsertResponse, error)
Bulk(data *bytes.Buffer)
Get(indexName, id string) (*GetResponse, error)
Delete(indexName, id string) (*DeleteResponse, error)
Count(indexName string) (*CountResponse, error)
Search(indexName string, query *SearchRequest) (*SearchResponse, error)
SearchWithRawQueryDSL(indexName string, queryDSL []byte) (*SearchResponse, error)
GetIndexSettings(indexNames string) (*Indexes, error)
UpdateIndexSettings(indexName string, settings map[string]interface{}) error
IndexExists(indexName string) (bool, error)
DeleteIndex(name string) error
Refresh(name string) (err error)
}
type Aggregation ¶
type Aggregation struct {
}
type AggregationRequest ¶
type AggregationRequest struct {
Aggregations map[string]Aggregation `json:"aggregations,omitempty"`
}
type AggregationResponse ¶
type AggregationResponse struct {
Buckets []Bucket `json:"buckets,omitempty"`
}
type BoolQuery ¶
type BoolQuery struct {
Must []interface{} `json:"must,omitempty"`
MustNot []interface{} `json:"must_not,omitempty"`
Should []interface{} `json:"should,omitempty"`
}
BoolQuery wrapper queries
type ClusterHealth ¶
type ClusterVersion ¶
type ClusterVersion struct {
Name string `json:"name"`
ClusterName string `json:"cluster_name"`
Version struct {
Number string `json:"number"`
LuceneVersion string `json:"lucene_version"`
} `json:"version"`
}
func (*ClusterVersion) GetMajorVersion ¶
func (c *ClusterVersion) GetMajorVersion() int
type CountResponse ¶
type CountResponse struct {
Count int `json:"count"`
}
CountResponse is a count response object
type DeleteResponse ¶
type DeleteResponse struct {
Result string `json:"result"`
Index string `json:"_index"`
Type string `json:"_type"`
ID string `json:"_id"`
Version int `json:"_version"`
}
DeleteResponse is a delete response object
type ElasticsearchConfig ¶
type ElasticsearchConfig struct {
ID string `json:"id,omitempty" index:"id"`
Name string `json:"name,omitempty" config:"name"`
Enabled bool `json:"enabled,omitempty" config:"enabled"`
HttpProxy string `config:"http_proxy"`
Endpoint string `config:"endpoint"`
TemplateName string `config:"template_name"`
IndexPrefix string `config:"index_prefix"`
BasicAuth *struct {
Username string `config:"username"`
Password string `config:"password"`
} `config:"basic_auth"`
}
ElasticsearchConfig contains common settings for elasticsearch
func GetConfig ¶
func GetConfig(k string) ElasticsearchConfig
type GetResponse ¶
type GetResponse struct {
Found bool `json:"found"`
Index string `json:"_index"`
Type string `json:"_type"`
ID string `json:"_id"`
Version int `json:"_version"`
Source map[string]interface{} `json:"_source"`
}
GetResponse is a get response object
type IndexDocument ¶
type IndexDocument struct {
Index string `json:"_index,omitempty"`
Type string `json:"_type,omitempty"`
ID interface{} `json:"_id,omitempty"`
Routing string `json:"_routing,omitempty"`
Source map[string]interface{} `json:"_source,omitempty"`
Highlight map[string][]interface{} `json:"highlight,omitempty"`
}
IndexDocument used to construct indexing document
type InsertResponse ¶
type InsertResponse struct {
Result string `json:"result"`
Index string `json:"_index"`
Type string `json:"_type"`
ID string `json:"_id"`
Version int `json:"_version"`
}
InsertResponse is a index response object
type MappingAPI ¶
type MatchQuery ¶
type MatchQuery struct {
Match map[string]interface{} `json:"match,omitempty"`
}
func (*MatchQuery) Set ¶
func (match *MatchQuery) Set(field string, v interface{})
Init match query's condition
type Query ¶
type Query struct {
BoolQuery *BoolQuery `json:"bool"`
}
Query is the root query object
type QueryStringQuery ¶
type QueryStringQuery struct {
Query map[string]interface{} `json:"query_string,omitempty"`
}
func NewQueryString ¶
func NewQueryString(q string) *QueryStringQuery
func (*QueryStringQuery) DefaultOperator ¶
func (query *QueryStringQuery) DefaultOperator(op string)
func (*QueryStringQuery) Fields ¶
func (query *QueryStringQuery) Fields(fields ...string)
func (*QueryStringQuery) QueryString ¶
func (query *QueryStringQuery) QueryString(q string)
type RangeQuery ¶
RangeQuery is used to find value in range
func (*RangeQuery) Gt ¶
func (query *RangeQuery) Gt(field string, value interface{})
func (*RangeQuery) Gte ¶
func (query *RangeQuery) Gte(field string, value interface{})
func (*RangeQuery) Lt ¶
func (query *RangeQuery) Lt(field string, value interface{})
func (*RangeQuery) Lte ¶
func (query *RangeQuery) Lte(field string, value interface{})
type ScrollResponse ¶
type ScrollResponse struct {
Took int `json:"took,omitempty"`
ScrollId string `json:"_scroll_id,omitempty"`
TimedOut bool `json:"timed_out,omitempty"`
Hits struct {
MaxScore float32 `json:"max_score,omitempty"`
Total int `json:"total,omitempty"`
Docs []interface{} `json:"hits,omitempty"`
} `json:"hits"`
Shards ShardResponse `json:"_shards,omitempty"`
}
func (*ScrollResponse) GetDocs ¶
func (scroll *ScrollResponse) GetDocs() []interface{}
func (*ScrollResponse) GetHitsTotal ¶
func (scroll *ScrollResponse) GetHitsTotal() int
func (*ScrollResponse) GetScrollId ¶
func (scroll *ScrollResponse) GetScrollId() string
func (*ScrollResponse) GetShardResponse ¶
func (scroll *ScrollResponse) GetShardResponse() ShardResponse
func (*ScrollResponse) SetScrollId ¶
func (scroll *ScrollResponse) SetScrollId(id string)
type ScrollResponseAPI ¶
type ScrollResponseAPI interface {
GetScrollId() string
SetScrollId(id string)
GetHitsTotal() int
GetShardResponse() ShardResponse
GetDocs() []interface{}
}
type ScrollResponseV7 ¶
type ScrollResponseV7 struct {
ScrollResponse
Hits struct {
MaxScore float32 `json:"max_score,omitempty"`
Total struct {
Value int `json:"value,omitempty"`
Relation string `json:"relation,omitempty"`
} `json:"total,omitempty"`
Docs []interface{} `json:"hits,omitempty"`
} `json:"hits"`
}
func (*ScrollResponseV7) GetDocs ¶
func (scroll *ScrollResponseV7) GetDocs() []interface{}
func (*ScrollResponseV7) GetHitsTotal ¶
func (scroll *ScrollResponseV7) GetHitsTotal() int
func (*ScrollResponseV7) GetScrollId ¶
func (scroll *ScrollResponseV7) GetScrollId() string
func (*ScrollResponseV7) GetShardResponse ¶
func (scroll *ScrollResponseV7) GetShardResponse() ShardResponse
func (*ScrollResponseV7) SetScrollId ¶
func (scroll *ScrollResponseV7) SetScrollId(id string)
type SearchRequest ¶
type SearchRequest struct {
Query *Query `json:"query,omitempty"`
From int `json:"from"`
Size int `json:"size"`
Sort *[]interface{} `json:"sort,omitempty"`
AggregationRequest `json:"aggs,omitempty"`
}
SearchRequest is the root search query object
func (*SearchRequest) AddSort ¶
func (request *SearchRequest) AddSort(field string, order string)
AddSort add sort conditions to SearchRequest
type SearchResponse ¶
type SearchResponse struct {
Took int `json:"took"`
TimedOut bool `json:"timed_out"`
Hits struct {
Total interface{} `json:"total"`
MaxScore float32 `json:"max_score"`
Hits []IndexDocument `json:"hits,omitempty"`
} `json:"hits"`
Aggregations map[string]AggregationResponse `json:"aggregations,omitempty"`
}
SearchResponse is a count response object
func (*SearchResponse) GetTotal ¶
func (response *SearchResponse) GetTotal() int
type ShardResponse ¶
type ShardResponse struct {
Total int `json:"total,omitempty"`
Successful int `json:"successful,omitempty"`
Skipped int `json:"skipped,omitempty"`
Failed int `json:"failed,omitempty"`
Failures []struct {
Shard int `json:"shard,omitempty"`
Index string `json:"index,omitempty"`
Status int `json:"status,omitempty"`
Reason interface{} `json:"reason,omitempty"`
} `json:"failures,omitempty"`
}
type TemplateAPI ¶
type TermsAggregationQuery ¶
type TermsAggregationQuery struct {
// contains filtered or unexported fields
}
func NewTermsAggregation ¶
func NewTermsAggregation() (query *TermsAggregationQuery)
func (*TermsAggregationQuery) Field ¶
func (query *TermsAggregationQuery) Field(field string) *TermsAggregationQuery
func (*TermsAggregationQuery) Size ¶
func (query *TermsAggregationQuery) Size(size int) *TermsAggregationQuery
Click to show internal directories.
Click to hide internal directories.