golang语言中简单操作es几个例子

这篇具有很好参考价值的文章主要介绍了golang语言中简单操作es几个例子。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 使用库(olivere/elastic/v7)操作es

1、初始化es操作客户端

var err error
EsClient, err = elastic.NewClient(
	elastic.SetSniff(false),
	elastic.SetURL(hosts...),
	elastic.SetBasicAuth(username, password),
	elastic.SetTraceLog(new(tracelog)),//打印查询语句,调试时可以使用
)
if err != nil {
	zap.L().Error(err.Error())
}

type tracelog struct{}

func (tracelog) Printf(format string, v ...interface{}) {
	fmt.Printf(format, v...)
}

2、使用must查询数据

query := elastic.NewBoolQuery()
query.Must(elastic.NewTermQuery(查询字段, 查询值)
res, err := EsClient.Search().Index(index).Query(query).From(0).Size(10).Do(context.Background())
	if err != nil {
		return nil, err
	}
	if res == nil || res.Hits == nil {
		return nil, nil
	}
	rows := make([]map[string]interface{}, 0)
	for _, hit := range res.Hits.Hits {
		var item = make(map[string]interface{})
		jsonByte, marErr := hit.Source.MarshalJSON()

		if marErr == nil {
			err := json.Unmarshal(jsonByte, &item)
			if err != nil {
				return nil, err
			}
			rows = append(rows, item)
		}
	}

3、terms、matchPhraseQuery、rangeQuery

elastic.NewMatchPhraseQuery
elastic.NewRangeQuery(字段).Gte(值).Lte(值)
elastic.NewTermQuery(字段, 值)

4、查询后,根据字段排序文章来源地址https://www.toymoban.com/news/detail-510053.html

sortQuery := elastic.NewFieldSort(orderField + ".keyword")
	if sortType == "asc" {
		sortQuery = sortQuery.Asc()
	} else {
		sortQuery = sortQuery.Desc()
	}
res, err := EsClient.Search().Index(index).Query(query).From(0).Size(10).SortBy(sortQuery).Do(context.Background())

到了这里,关于golang语言中简单操作es几个例子的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium XPATH 使用简单例子

    定位所有的 a 元素: //a 定位带有特定id属性的元素: //*[@id=“exampleId”] 定位带有特定class属性的元素: //*[contains(@class, “exampleClass”)] 定位包含特定文本的元素: //*[text()=“Example Text”] 定位包含特定部分文本的元素: //*[contains(text(), “Partial Text”)] 定位第一个 元素: /

    2024年02月21日
    浏览(41)
  • WebGL: 几个入门小例子

    本文通过WebGL例子,来帮助WebGL入门学习。 WebGL (Web Graphics Library)是一组基于Open ES、在Web内渲染3D图形的Javascript APIs。 Ref. from Khronos Group: WebGL WebGL™ is a cross-platform, royalty-free open web standard for a low-level 3D graphics API based on OpenGL ES, exposed to ECMAScript via the HTML5 Canvas element.  Andreas

    2024年02月13日
    浏览(33)
  • 使用Junit进行单元测试的简单例子

    首先新建一个工程,选择合适的路径和JDK版本,其它默认就行。 把Main.java内容改为如下。    后面就是对add方法增加单元测试 在project窗口中右击项目,在菜单中选择:New - Directory 在弹出的提示框中输入目录名:test 。 然后右击 project窗口中 test 目录,在弹出菜单中选择:

    2024年02月09日
    浏览(53)
  • AIGC:生成简单的Golang语言程序

    【问1】:编写一个golang程序,在屏幕上显示: Programming is fun! And Programming in C is even more fun! 【答1】:可以用如下的代码实现: 输出结果为: 【问2】:编写一个golang程序,求华氏温度 100°F 对应的摄氏温度。摄氏温度 c=5*(f-32)/9,其中f表示华氏温度。 【答2】:以下是实现代码

    2024年02月09日
    浏览(32)
  • 使用 pyspark 进行 Clustering 的简单例子 -- KMeans

    K-means算法适合于简单的聚类问题,但可能不适用于复杂的聚类问题。此外,在使用K-means算法之前,需要对数据进行预处理和缩放,以避免偏差。 K-means是一种聚类算法,它将数据点分为不同的簇或组。Pyspark实现的K-means算法基本遵循以下步骤: 随机选择K个点作为初始质心。

    2024年02月06日
    浏览(41)
  • SAP ABAP 使用GENIOS求解线性规划问题的简单例子

    主要内容来自Operations Research ABAP ,结合我遇到的需求,做了一些修改。 需求:有BOX1和BOX2两种箱子,分别能包装不同数量的A物料和B物料,给出若干数量的A, B物料,怎样包装可以使箱子数最少? 线性规划有助于解决类似问题。 以下是一个示例程序,包含必要的注释,   运行

    2024年02月16日
    浏览(44)
  • 10个 Istio 流量管理 最常用的例子,你知道几个?

    10 个 Istio 流量管理 最常用的例子,强烈建议 收藏 起来,以备不时之需。 为了方便理解,以Istio官方提供的Bookinfo应用示例为例,引出 Istio 流量管理的常用例子。 Bookinfo应用的架构图如下: 其中,包含四个单独的微服务: productpage :调用 details 和 reviews 两个服务,用来生成

    2024年02月08日
    浏览(51)
  • 毛细作用是什么意,请举几个生活中常见的例子。

    问题描述:毛细作用是什么意,请举几个生活中常见的例子。 问题解答: 毛细作用是一种液体在细小管道或毛细管中上升或下降的现象,其产生主要是由于表面张力和毛细管内外液体的相互作用。 生活中有许多常见的例子涉及到毛细作用,其中一些包括: 植物中的水分上升

    2024年01月16日
    浏览(30)
  • Java对es进行简单操作

    Java对es进行添加操作 java实现删除 对指定字段进行修改 upsert修改用法:修改文章存在,执行修改,不存在则执行插入

    2024年02月12日
    浏览(37)
  • 5个 Istio 访问外部服务流量控制最常用的例子,你知道几个?

    5 个 Istio 访问外部服务的流量控制常用例子,强烈建议 收藏 起来,以备不时之需。 部署 sleep 服务,作为发送请求的测试源: 在 Istio 外部,使用 Nginx 搭建 duckling 服务的v1和v2两个版本,访问时显示简单的文本: 执行如下命名访问外部服务 httpbin.org : 返回结果如下: 此时的

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包