python - Python 3:如何使用 json 变量自动创建索引并发送到 Elasticsearch?
问题描述
我想从使用 curl 获得的 json 变量创建一个索引,它包含这些数据
{
"test.mydomain.xyz:1019":{
"infoAddr":"x.x.x.x:1022",
"infoSecureAddr":"x.x.x.x:0",
"xferaddr":"x.x.x.x:1019",
"lastContact":6,
"usedSpace":384635032546,
"adminState":"In Service",
"nonDfsUsedSpace":283930161,
"capacity":30697676811776,
"numBlocks":24322,
"version":"2.7.3.2.6.5.23-1",
"used":384635032546,
"remaining":30311575148182,
"blockScheduled":6,
"blockPoolUsed":384635032546,
"blockPoolUsedPercent":1.2529777,
"volfails":0,
"lastBlockReport":207,
"clusterName":"test.mydomain.xyz:1019"
},
然后我知道我必须创建一个索引也映射,但我不知道我应该从什么开始。从谷歌搜索似乎没有多大帮助。
解决方案
您可以先创建一个映射,根据您的示例,这将是最佳实践。您必须告诉 es 女巫字段需要编制索引(= 可搜索)以及如何编制索引。例如,在您的示例中 clusterName 和 version 应该是 KeyWord。这将优化集群(在资源和性能方面)。第二种解决方案,快速而肮脏,只是索引一些文档和弹性将为您创建映射。请注意,一旦创建了索引的映射,就无法更新(添加新字段除外)。如果您更改映射,则必须重新创建索引并重新索引数据。
推荐阅读
- python - sqlalchemy.exc.CompileError:索引'unique_constraint'未与任何表关联
- node.js - 访问特定纬度和经度附近所有事件信息的最佳方式?
- python - Jira API django 连接适配器错误
- r - 使用 R 从 S3 存储桶本地保存文件时出错
- react-native - 是否可以在 Ubuntu 上安装 Detox 进行测试?
- java - 创建枚举的最简单方法是什么
java中包含单个T值的对象? - azure - 如何在 Azure DevOps 管道中从我的 GitHub 存储库运行文件?
- python-3.x - 如何将项目放入 django 的隐藏表单字段中?
- javascript - D3.js 文本元素显示“未定义”而不是值
- ios - AWS device-farm iOS XCTest UI 套件无法访问主应用程序的容器