• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang api.DoCommand函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/mattbaird/elastigo/api.DoCommand函数的典型用法代码示例。如果您正苦于以下问题:Golang DoCommand函数的具体用法?Golang DoCommand怎么用?Golang DoCommand使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了DoCommand函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: Index

// The index API adds or updates a typed JSON document in a specific index, making it searchable.
// http://www.elasticsearch.org/guide/reference/api/index_.html
func Index(pretty bool, index string, _type string, id string, data interface{}) (api.BaseResponse, error) {
	var url string
	var retval api.BaseResponse
	url = fmt.Sprintf("/%s/%s/%s?%s", index, _type, id, api.Pretty(pretty))
	var method string
	if id == "" {
		method = "POST"
	} else {
		method = "PUT"
	}

	body, err := api.DoCommand(method, url, data)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	//fmt.Println(body)
	return retval, err
}
开发者ID:penguinxr2,项目名称:elastigo,代码行数:27,代码来源:index.go


示例2: IndexWithParameters

// IndexWithParameters takes all the potential parameters available
func IndexWithParameters(index string, _type string, id string, parentId string, version int, op_type string,
	routing string, timestamp string, ttl int, percolate string, timeout string, refresh bool,
	args map[string]interface{}, data interface{}) (api.BaseResponse, error) {
	var url string
	var retval api.BaseResponse
	url, err := GetIndexUrl(index, _type, id, parentId, version, op_type, routing, timestamp, ttl, percolate, timeout, refresh)
	if err != nil {
		return retval, err
	}
	var method string
	if len(id) == 0 {
		method = "POST"
	} else {
		method = "PUT"
	}
	if VerboseLogging {
		log.Printf("about to :%v %v %s", url, args, data)
	}
	body, err := api.DoCommand(method, url, args, data)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:asemt,项目名称:vossibility-collector,代码行数:32,代码来源:index.go


示例3: MGet

// Multi GET API allows to get multiple documents based on an index, type (optional) and id (and possibly routing).
// The response includes a docs array with all the fetched documents, each element similar in structure to a document
// provided by the get API.
// see http://www.elasticsearch.org/guide/reference/api/multi-get.html
func MGet(pretty bool, index string, _type string, req string) (MGetResponseContainer, error) {
	var url string
	var retval MGetResponseContainer
	if len(index) <= 0 {
		url = fmt.Sprintf("/_mget?%s", api.Pretty(pretty))
	}
	if len(_type) > 0 && len(index) > 0 {
		url = fmt.Sprintf("/%s/%s/_mget?%s", index, _type, api.Pretty(pretty))
	} else if len(index) > 0 {
		url = fmt.Sprintf("/%s/_mget?%s", index, api.Pretty(pretty))
	}
	body, err := api.DoCommand("GET", url, req)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	fmt.Println(body)
	return retval, err
}
开发者ID:penguinxr2,项目名称:elastigo,代码行数:29,代码来源:mget.go


示例4: EsMap

//str := `{"person" : {"properties" : {"file" : {"type" : "attachment","fields" : {"title" : { "store" : "yes" },"file" : { "term_vector":"with_positions_offsets", "store":"yes" }}}}}}`
func EsMap(applogo string, indexmate IndexMate) int {
	api.Domain = Esapi
	table := strings.ToLower(indexmate.IndexTable)
	url := strings.ToLower("/" + applogo + "/" + table + "/_mapping")
	fmt.Println(url)
	fileslist := strings.Split(strings.Replace(strings.ToLower(indexmate.IndexAttribute), " ", "", -1), ",")
	var files string
	for _, v := range fileslist {
		files = files + `"` + v + `" : { "store" : "yes" },`
	}
	str := `{
  "` + table + `" : {
    "properties" : {
      "file" : {
        "type" : "attachment",
        "fields" : {
          ` + files + `
           "file" : { "term_vector":"with_positions_offsets", "store":"yes" }
        }
      }
    }
  }
}`
	fmt.Println(str)
	_, err := api.DoCommand("POST", url, str)
	if err != nil {
		fmt.Println(err.Error())
		return 1
	}
	return 0
}
开发者ID:jackwanger,项目名称:PangoLinManage,代码行数:32,代码来源:esmodels.go


示例5: Index

// Index adds or updates a typed JSON document in a specific index, making it searchable, creating an index
// if it did not exist.
// if id is omited, op_type 'create' will be pased and http method will default to "POST"
// id is optional
// http://www.elasticsearch.org/guide/reference/api/index_.html
func Index(index string, _type string, id string, args map[string]interface{}, data interface{}) (api.BaseResponse, error) {
	var retval api.BaseResponse
	var url string

	if len(id) > 0 {
		url = fmt.Sprintf("/%s/%s/%s", index, _type, id)
	} else {
		url = fmt.Sprintf("/%s/%s", index, _type)
	}

	var method string
	if len(id) == 0 {
		method = "POST"
	} else {
		method = "PUT"
	}

	body, err := api.DoCommand(method, url, args, data)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:pombredanne,项目名称:elastigo,代码行数:35,代码来源:index.go


示例6: ClearCache

// ClearCache allows to clear either all caches or specific cached associated with one ore more indices.
// see http://www.elasticsearch.org/guide/reference/api/admin-indices-clearcache/
func ClearCache(clearId bool, clearBloom bool, indices ...string) (api.ExtendedStatus, error) {
	var retval api.ExtendedStatus
	var clearCacheUrl string
	if len(indices) > 0 {
		clearCacheUrl = fmt.Sprintf("/%s/_cache/clear", strings.Join(indices, ","))

	} else {
		clearCacheUrl = fmt.Sprintf("/_cache/clear")
	}
	var values url.Values = url.Values{}

	if clearId {
		values.Add("id", "true")
	}
	if clearBloom {
		values.Add("bloom", "true")
	}
	clearCacheUrl += "?" + values.Encode()
	body, err := api.DoCommand("POST", clearCacheUrl, nil)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:reedobrien,项目名称:elastigo,代码行数:33,代码来源:clearCache.go


示例7: GetSource

// GetSource retrieves the document by id and converts it to provided interface
func GetSource(index string, _type string, id string, args map[string]interface{}, source interface{}) error {
	url := fmt.Sprintf("/%s/%s/%s/_source", index, _type, id)
	body, err := api.DoCommand("GET", url, args, nil)
	if err == nil {
		err = json.Unmarshal(body, &source)
	}
	return err
}
开发者ID:asemt,项目名称:vossibility-collector,代码行数:9,代码来源:get.go


示例8: BulkSend

// This does the actual send of a buffer, which has already been formatted
// into bytes of ES formatted bulk data
func BulkSend(buf *bytes.Buffer) error {
	_, err := api.DoCommand("POST", "/_bulk", nil, buf)
	if err != nil {
		BulkErrorCt += 1
		return err
	}
	return nil
}
开发者ID:asemt,项目名称:vossibility-collector,代码行数:10,代码来源:bulk.go


示例9: State

// http://www.elasticsearch.org/guide/reference/api/admin-cluster-update-settings.html
func State(settingType string, key string, value int) error {
	url := "/_cluster/settings"
	m := map[string]map[string]int{settingType: map[string]int{key: value}}
	_, err := api.DoCommand("PUT", url, m)
	if err != nil {
		return err
	}
	return nil
}
开发者ID:penguinxr2,项目名称:elastigo,代码行数:10,代码来源:state.go


示例10: EsIndex

func EsIndex(applogo string, number_of_shards, number_of_replicas string) int {
	api.Domain = Esapi
	url := "/" + applogo
	str := `{"settings" : { "index" : { "number_of_shards" :` + number_of_shards + ` , "number_of_replicas" : ` + number_of_replicas + ` }}}`
	_, err := api.DoCommand("POST", url, str)
	if err != nil {
		fmt.Println(err.Error())
		return 1
	}
	return 0
}
开发者ID:jackwanger,项目名称:PangoLinManage,代码行数:11,代码来源:esmodels.go


示例11: NodesShutdown

// NodesShutdown allows the caller to shutdown between one and all nodes in the cluster
// delay is a integer representing number of seconds
// passing "" or "_all" for the nodes parameter will shut down all nodes
// see http://www.elasticsearch.org/guide/reference/api/admin-cluster-nodes-shutdown/
func NodesShutdown(delay int, nodes ...string) error {
	shutdownUrl := fmt.Sprintf("/_cluster/nodes/%s/_shutdown", strings.Join(nodes, ","))
	if delay > 0 {
		var values url.Values = url.Values{}
		values.Add("delay", strconv.Itoa(delay))
		shutdownUrl += "?" + values.Encode()
	}
	_, err := api.DoCommand("POST", shutdownUrl, nil)
	if err != nil {
		return err
	}
	return nil
}
开发者ID:reedobrien,项目名称:elastigo,代码行数:17,代码来源:nodesShutdown.go


示例12: doSyncMapping

// doSyncMapping synchronizes the configuration definition with the Elastic
// Search backend mappings.
func doSyncMapping(c *cli.Context) {
	config := ParseConfigOrDie(c.GlobalString("config"))

	notAnalyzedProtos := []mappingProto{}
	for _, notAnalyzedPattern := range config.NotAnalyzedPatterns {
		notAnalyzedProtos = append(notAnalyzedProtos, notAnalyzedStringProto(notAnalyzedPattern))
	}

	for _, r := range config.Repositories {
		template := makeTemplate(r.IndexPrefix(), notAnalyzedProtos)
		if _, err := api.DoCommand("PUT", "/_template/vossibility-"+r.GivenName, nil, template); err != nil {
			log.Fatal(err)
		}
	}
}
开发者ID:asemt,项目名称:vossibility-collector,代码行数:17,代码来源:sync_mapping.go


示例13: IndicesExists

// IndicesExists checks for the existance of indices. uses http 404 if it does not exist, and 200 if it does
// see http://www.elasticsearch.org/guide/reference/api/admin-indices-indices-exists/
func IndicesExists(indices ...string) (bool, error) {
	var url string
	if len(indices) > 0 {
		url = fmt.Sprintf("/%s", strings.Join(indices, ","))
	}
	_, err := api.DoCommand("HEAD", url, nil, nil)
	if err != nil {
		eserror := err.(api.ESError)
		if eserror.Code == 404 {
			return false, err
		} else {
			return eserror.Code == 200, err
		}
	}
	return true, nil
}
开发者ID:pombredanne,项目名称:vossibility-bulletin,代码行数:18,代码来源:indicesExists.go


示例14: State

// State gets the comprehensive state information for the whole cluster
// see http://www.elasticsearch.org/guide/reference/api/admin-cluster-state/
func State(filter_nodes bool, filter_routing_table bool, filter_metadata bool, filter_blocks bool,
	filter_indices ...string) (ClusterStateResponse, error) {
	url := getStateUrl(false, false, false, false, filter_indices...)
	var retval ClusterStateResponse
	body, err := api.DoCommand("GET", url, nil)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:reedobrien,项目名称:elastigo,代码行数:19,代码来源:state.go


示例15: Count

// Count allows the caller to easily execute a query and get the number of matches for that query.
// It can be executed across one or more indices and across one or more types.
// The query can either be provided using a simple query string as a parameter,
// or using the Query DSL defined within the request body.
// http://www.elasticsearch.org/guide/reference/api/count.html
func Count(index string, _type string, args map[string]interface{}) (CountResponse, error) {
	var url string
	var retval CountResponse
	url = fmt.Sprintf("/%s/%s/_count", index, _type)
	body, err := api.DoCommand("GET", url, args, nil)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:asemt,项目名称:vossibility-collector,代码行数:22,代码来源:count.go


示例16: MoreLikeThis

// MoreLikeThis allows the caller to get documents that are “like” a specified document.
// http://www.elasticsearch.org/guide/reference/api/more-like-this.html
func MoreLikeThis(index string, _type string, id string, args map[string]interface{}, query MoreLikeThisQuery) (api.BaseResponse, error) {
	var url string
	var retval api.BaseResponse
	url = fmt.Sprintf("/%s/%s/%s/_mlt", index, _type, id)
	body, err := api.DoCommand("GET", url, args, query)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:asemt,项目名称:vossibility-collector,代码行数:19,代码来源:moreLikeThis.go


示例17: Update

// Update updates a document based on a script provided. The operation gets the document
// (collocated with the shard) from the index, runs the script (with optional script language and parameters),
// and index back the result (also allows to delete, or ignore the operation). It uses versioning to make sure
// no updates have happened during the “get” and “reindex”. (available from 0.19 onwards).
// Note, this operation still means full reindex of the document, it just removes some network roundtrips
// and reduces chances of version conflicts between the get and the index. The _source field need to be enabled
// for this feature to work.
//
// http://www.elasticsearch.org/guide/reference/api/update.html
// TODO: finish this, it's fairly complex
func Update(pretty bool, index string, _type string, id string, data interface{}) (api.BaseResponse, error) {
	var url string
	var retval api.BaseResponse
	url = fmt.Sprintf("/%s/%s/%s/_update?%s", index, _type, id, api.Pretty(pretty))
	body, err := api.DoCommand("POST", url, data)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:nahap,项目名称:elastigo,代码行数:27,代码来源:update.go


示例18: Percolate

func Percolate(index string, _type string, name string, args map[string]interface{}, doc string) (api.Match, error) {
	var url string
	var retval api.Match
	url = fmt.Sprintf("/%s/%s/_percolate", index, _type)
	body, err := api.DoCommand("GET", url, args, doc)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:asemt,项目名称:vossibility-collector,代码行数:17,代码来源:percolate.go


示例19: Delete

// Delete API allows to delete a typed JSON document from a specific index based on its id.
// http://www.elasticsearch.org/guide/reference/api/delete.html
func Delete(index string, _type string, id string, args map[string]interface{}) (api.BaseResponse, error) {
	var url string
	var retval api.BaseResponse
	url = fmt.Sprintf("/%s/%s/%s", index, _type, id)
	body, err := api.DoCommand("DELETE", url, args, nil)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:asemt,项目名称:vossibility-collector,代码行数:19,代码来源:delete.go


示例20: RegisterPercolate

// RegisterPercolate allows the caller to register queries against an index, and then send percolate requests which include a doc, and
// getting back the queries that match on that doc out of the set of registered queries.
// Think of it as the reverse operation of indexing and then searching. Instead of sending docs, indexing them,
// and then running queries. One sends queries, registers them, and then sends docs and finds out which queries
// match that doc.
// see http://www.elasticsearch.org/guide/reference/api/percolate.html
func RegisterPercolate(index string, name string, args map[string]interface{}, query api.Query) (api.BaseResponse, error) {
	var url string
	var retval api.BaseResponse
	url = fmt.Sprintf("/_percolator/%s/%s", index, name)
	body, err := api.DoCommand("PUT", url, args, query)
	if err != nil {
		return retval, err
	}
	if err == nil {
		// marshall into json
		jsonErr := json.Unmarshal(body, &retval)
		if jsonErr != nil {
			return retval, jsonErr
		}
	}
	return retval, err
}
开发者ID:asemt,项目名称:vossibility-collector,代码行数:23,代码来源:percolate.go



注:本文中的github.com/mattbaird/elastigo/api.DoCommand函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang api.Pretty函数代码示例发布时间:2022-05-23
下一篇:
Golang runner.New函数代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap