Elasticsearch 建立 mapping 的困惑,请高手指教。

2018-02-24 02:49:45 +08:00
 jahan

我有一个数据库的建表语句。 create table。。。。 想根据这个语句在 es 里面建立相应的 mapping,这个有现成的工具可以进行转化吗? elasticsearch-sql 插件貌似不行?

5669 次点击
所在节点    Elasticsearch
6 条回复
twm
2018-02-24 06:21:58 +08:00
发帖的时间不早建好了
ligyxy
2018-02-24 06:42:35 +08:00
Morriaty
2018-02-24 10:14:28 +08:00
logstash jdbc

对于特殊的字段,需要自己写 template,比如 IP、timestamp
Beebird
2018-02-24 11:42:32 +08:00
一般用 PUT /_template/xxxx 语句创建一个 template 就可以了,类似这样:

"properties": {
"@timestamp": {
"type": "date",
"format": "epoch_millis||basic_date_time"
},
"ipaddress": {
"type": "ip",
"ignore_malformed": true
},
"id": {
"type": "string",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
},
"code": {
"type": "integer",
"ignore_malformed": true
}
}
jahan
2018-02-26 08:44:07 +08:00
@twm 比较懒,而且这个应该有个轮子吧。而且如果有了这么一个轮子,效率能提升很多。
@ligyxy
@Morriaty Logstash-input-jdbc 是用来从数据库导入的吧( This plugin was created as a way to ingest data in any database with a JDBC interface into Logstash. ),这个方法倒是特别适合已经有数据库的。不过我这里想着脱裤文件不入库直接进入 es。不知道还有没有。
@Beebird 这个模板很好用,很想知道如果有一个建表语句,怎么对应出这样的模板,现在我是手敲。。。。非常 low。有没有一个工具,可以把 sql 语句的 create table 语句贴入或导入,然后根据一些配置,直接输出 mapping 呢?我分析的是脱裤文件,可能和大家分析的日志还不太一样。


感谢大家指点。发现很多都是处理英文的,我需要处理的文本基本上都是中文,中文英混杂,数字串,金额,字母等。
jahan
2018-02-26 08:52:49 +08:00
@Morriaty 不过这个也是不错的办法。免去了建立 mapping 的麻烦?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/432079

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX