kairosdb 和 elasticsearch 集成
kairosdb and elasticsearch integration
我使用 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 中的每条记录都需要两条信息(至少):
- 用于定位相应 KairosDB 记录的主键字段。在 mapping 中,确保设置
"store": true, "index": "not_analyzed"
- 您希望可搜索的任何字段(在您的示例中,仅搜索
name
)"store": false, "index": "analyzed"
如果您想进一步减小索引大小,请考虑 disabling the _source field
然后您的搜索工作流变成一个两步过程:
- 在 Elasticsearch 中查询
name:hi
并检索每个匹配记录的 KairosDB 主键字段。
- Query/return KairosDB 时间序列数据使用从 Elasticsearch 返回的关键字段。
不过要说清楚。您不需要加载到 Elasticsearch 中的每条 KairosDB 记录的精确副本。只是可搜索的字段,以及在 KairosDB 中定位原始记录的方法。
我使用 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 中的每条记录都需要两条信息(至少):
- 用于定位相应 KairosDB 记录的主键字段。在 mapping 中,确保设置
"store": true, "index": "not_analyzed"
- 您希望可搜索的任何字段(在您的示例中,仅搜索
name
)"store": false, "index": "analyzed"
如果您想进一步减小索引大小,请考虑 disabling the _source field
然后您的搜索工作流变成一个两步过程:
- 在 Elasticsearch 中查询
name:hi
并检索每个匹配记录的 KairosDB 主键字段。 - Query/return KairosDB 时间序列数据使用从 Elasticsearch 返回的关键字段。
不过要说清楚。您不需要加载到 Elasticsearch 中的每条 KairosDB 记录的精确副本。只是可搜索的字段,以及在 KairosDB 中定位原始记录的方法。