首页 > 后端开发 > Golang > Golang 中的 Elasticsearch 时间点请求 API

Golang 中的 Elasticsearch 时间点请求 API

王林
发布: 2024-02-13 15:39:21
转载
910 人浏览过

Golang 中的 Elasticsearch 时间点请求 API

在Golang中,Elasticsearch是一个非常流行的分布式搜索和分析引擎。它具有强大的功能和灵活的查询语言,可以满足各种数据检索的需求。其中,时间点请求API是Elasticsearch的一个重要特性,它允许我们按照时间范围进行数据检索和聚合。在本文中,php小编新一将为大家详细介绍Golang中的Elasticsearch时间点请求API的使用方法和注意事项,帮助读者更好地理解和应用这一功能。

问题内容

我正在尝试使用官方 go-elasticsearch 库在 golang 中使用时间点 api。我似乎找不到任何解释如何使用它的文档。

我已经能够创建 OpenPointInTime 对象并检索 PIT id。我不知道如何处理它或将其放置在 elasticsearch.Client.Search 函数中的位置。我也找不到例子。 谁能给出一个使用官方库的基本示例。

解决方法

在浏览了elasticsearch库的github存储库上的已关闭问题后,我发现了这个问题线程:https://www.php.cn/link/4bdb6179647296e518bd72e62d3bf5c1

根据这个线程,我需要从 openpointintime 响应中获取 pit id 并将其添加到正文中。 这对我有用:

var query_buffer bytes.Buffer
body := `
    {
        "query": {
            "term": {
                "_id": "AkUN7YUB2JzVdyKtJ8bD"
            }
        },
        "pit": {
            "id":  "your pit id here", 
            "keep_alive": "3m"  
        }
    }
`
es, _ := elasticsearch.NewDefaultClient()
json.NewDecoder(&query_buffer).Decode(&body)
res, err := es.Search(
    es.Search.WithAllowPartialSearchResults(true),
    es.Search.WithBody(&query_buffer),
)
登录后复制

以上是Golang 中的 Elasticsearch 时间点请求 API的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板