Java kairosdb与elasticsearch集成
我正在使用Java kairosdb与elasticsearch集成,java,
elasticsearch,kairosdb,Java,
elasticsearch,Kairosdb,我正在使用kairosdb作为我的主要数据库。现在我想将elasticsearch功能集成到我的数据中kairosdb。如中所述,我必须在elasticsearch数据库中复制我的主数据库的所有条目 更新 我的意思是: 如果我想索引elasticsearch中的内容,我必须执行以下操作,例如: 检索kairosdb的数据,例如json{“name”:“hi”,“value”:“6”,“tags”} 然后将其放入elasticsearch curl -XPUT 'http://localhost
kairosdb
作为我的主要数据库。现在我想将elasticsearch功能集成到我的数据中kairosdb
。如中所述,我必须在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记录的主键字段。在中,确保设置“存储”:true,“索引”:“未分析”
您希望可搜索的任何字段(在您的示例中,仅搜索名称
)“存储”:false,“索引”:“已分析”
如果您想进一步减小索引大小,请考虑
然后,您的搜索工作流将变成一个分两步的过程:
- 查询Elasticsearch以查找
name:hi
,并检索每个匹配记录的KairosDB主键字段
- 使用从Elasticsearch返回的关键字段查询/返回KairosDB时间序列数据
但要说清楚。您不需要加载到Elasticsearch中的每个KairosDB记录的精确副本。只有可搜索的字段,以及在KairosDB中定位原始记录的方法。谁说过在ES中复制数据?你可能混淆了这些概念吗?我在网上读了很多论文,我做了很多样本,我带着这个来的。如果您有其他想法,您可以回答。如果kairosdb没有与Elasticsearch的本机集成,您需要在客户端应用程序中手动处理此问题。也就是说,构建从kairosdb获取数据并在ES中索引的“东西”。因此,一切都取决于您进行集成和任何更改。关于复制,如果你有任何链接指向你读过的地方,请发布它们。你使用的是什么底层数据存储?H2还是卡桑德拉?@Val我用的是卡桑德拉