gpt4 book ai didi

java - kairosdb 和 Elasticsearch 集成

转载 作者:行者123 更新时间:2023-11-30 07:49:53 25 4
gpt4 key购买 nike

我使用 Kairosdb 作为我的主数据库。现在我想将 Elasticsearch 功能集成到 Kairosdb 内的数据中。如 docs 内所述我必须在 Elasticsearch 数据库中复制主数据库的所有条目。

更新

我的意思是,如果我想在elasticsearch中索引某些内容,我必须这样做,例如:

获取Kairosdb数据,示例json {"name": "hi","value": "6","tags"}

然后将其放入Elasticsearch中:

 curl -XPUT 'http://localhost:9200/firstIndex/test/1' -d '{"name": "hi","value": "6","tags"}'

如果我想搜索,我必须这样做:

curl 'http://localhost:9200/_search?q=name:hi&pretty=true'

我想知道是否可以在 Elasticsearch 中不重复我的数据,以实现此目的的方式:

  • 从 KairosDB 获取数据
  • 使用 Elasticsearch 为它们建立索引,而不重复数据。

我该怎么做?

最佳答案

听起来您希望使用 Elasticsearch 作为主数据存储 (KairosDB) 的辅助(和外部)全文索引。

由于 KairosDB 仍然是您的主要数据存储,因此您加载到 Elasticsearch 中的每条记录都需要两条信息(至少):

  1. 用于定位相应 KairosDB 记录的主键字段。在 mapping ,请确保设置 "store": true, "index": "not_analyzed"
  2. 您希望可搜索的任何字段(在您的示例中,仅搜索 name)"store": false, "index": "analyzed" <

如果您想进一步减小索引大小,请考虑 disabling the _source field

<小时/>

然后您的搜索工作流程将变成一个两步过程:

  • 在 Elasticsearch 中查询 name:hi 并检索每个匹配记录的 KairosDB 主键字段。
  • 使用 Elasticsearch 返回的关键字段查询/返回 KairosDB 时间序列数据。
<小时/>

但要明确一点。您不需要加载到 Elasticsearch 中的每个 KairosDB 记录的精确副本。只是可搜索字段,以及在 KairosDB 中查找原始记录的方法。

关于java - kairosdb 和 Elasticsearch 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33436837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com