当前位置: 首页 > news >正文

网站商城建设员招聘西安蓝海网站建设

网站商城建设员招聘,西安蓝海网站建设,科技粉末,建筑设计方案汇报ppt作为 Elasticsearch 用户,我们从许多不同的位置收集数据。 我们使用 Logstash、Beats 和其他工具来抓取数据并将它们发送到 Elasticsearch。 有时,我们无法控制数据本身,我们需要管理数据的结构,甚至需要在摄取数据时处理字段名称…

作为 Elasticsearch 用户,我们从许多不同的位置收集数据。 我们使用 Logstash、Beats 和其他工具来抓取数据并将它们发送到 Elasticsearch。 有时,我们无法控制数据本身,我们需要管理数据的结构,甚至需要在摄取数据时处理字段名称。

Elasticsearch 有一些保留的字段名称,你不能在文档中使用这些名称。

如果文档具有这些字段之一,则无法为该文档编制索引。 但是,这并不意味着你不能在文档中的任何地方使用这些字段名称。 该限制仅对根节点(root node)有效。 因此,你无法索引以下文档:

PUT twitter/_doc/1
{"_id": 1
}

你会得到如下错误:

但是你可以成功地写入如下的文档:

PUT twitter/_doc/1
{"user": {"_id": 1,"name": "liuxg"}
}

究其原因,在上面的 _id 它不是在 root node 下的字段。

因此,正如你在上面看到的 _id 字段,你不能在文档中使用以下字段名称作为 root 字段名称:

_id
_field_names
_index
_seq_no
_nested_path
_ignored
_routing
_data_stream_timestamp
_tier
_version
_feature
_source
_primary_term *
_type *

注意:上面用 * 标注的字段对于老版本的 elasticsearch 这个字段也是保留关键字

这意味着如果你有将这些字段名称作为根字段的文档。 你会得到一个错误。 例如,你想使用 Logstash 移动该数据。 你有一个包含如下内容的文件:

{"ImdbId": "tt0030629","_id": "tt0030629","name": "Prison Without Bars","year": "1938","certificate": "Approved","runtime": "72 min","genre": ["Crime", " Drama", " Romance"],"ratingValue": "6.2","summary_text": "Suzanne, Renee, Nina and Marta all hate being in prison, being slapped and treated badly, and so all the girls are trying to escape. Madame Appel just causes chaos all the time, with her ...                See full summary\u00a0\u00bb","ratingCount": "66"
} {"ImdbId": "tt0030528","_id": "tt0030528","name": "Orage","year": "1938","certificate": "","runtime": "98 min","genre": ["Drama"],"ratingValue": "5.7","summary_text": "Orage is a 1938 French drama film directed by Marc All\u00e9gret. The screenplay was written by Marcel Achard and H.G. Lustig, based on play \"Le venin\" by Henri Bernstein. The films stars ...                See full summary\u00a0\u00bb","ratingCount": "66"
} 

因此,当你尝试使用 Logstash 摄取它时,你将收到以下错误。 即使你在单独索引这些文档时也会遇到上述错误。比如我们使用如下的一个例子:

sample.log

{"_id":1,"timestamp":"2019-09-12T13:43:42Z","paymentType":"Amex","name":"Merrill Duffield","gender":"Female","ip_address":"132.150.218.21","purpose":"Toys","country":"United Arab Emirates","age":33}
{"_id":2,"timestamp":"2019-08-11T17:55:56Z","paymentType":"Visa","name":"Darby Dacks","gender":"Female","ip_address":"77.72.239.47","purpose":"Shoes","country":"Poland","age":55}
{"_id":3,"timestamp":"2019-07-14T04:48:25Z","paymentType":"Visa","name":"Harri Cayette","gender":"Female","ip_address":"227.6.210.146","purpose":"Sports","country":"Canada","age":27}
{"_id":4,"timestamp":"2020-02-29T12:41:59Z","paymentType":"Mastercard","name":"Regan Stockman","gender":"Male","ip_address":"139.224.15.154","purpose":"Home","country":"Indonesia","age":34}
{"_id":5,"timestamp":"2019-08-03T19:37:51Z","paymentType":"Mastercard","name":"Wilhelmina Polle","gender":"Female","ip_address":"252.254.68.68","purpose":"Health","country":"Ukraine","age":51}

logstash_input.conf

input {file {path => "//Users/liuxg/elastic/logstash-8.6.2/sample.log"type    => "applog"codec   => "json"start_position => "beginning"sincedb_path => "/dev/null"}
}output {stdout {codec => rubydebug}elasticsearch {hosts => ["localhost:9200"]index => "json-%{+YYYY.MM.dd}"}
}

我们使用如下的命令来启动对数据的采集:

$ pwd
/Users/liuxg/elastic/logstash-8.6.2
$ ls sample.log logstash_input.conf 
logstash_input.conf sample.log
./bin/logstash -f logstash_input.conf 

如你所见,错误与我们上面得到的错误相同。 那么,我们需要做什么? 有一些解决方案可以处理这些类型的数据操作。 你可以在源上修复文档,也可以使用 mutate 过滤器在 Logstash 中管理它们:

logstash_input.conf

input {file {path => "//Users/liuxg/elastic/logstash-8.6.2/sample.log"type    => "applog"codec   => "json"start_position => "beginning"sincedb_path => "/dev/null"}
}filter {mutate {rename => {"_id" => "id"}}
}output {stdout {codec => rubydebug}elasticsearch {hosts => ["localhost:9200"]index => "json-%{+YYYY.MM.dd}"}
}

我们再次运行 Logstash:

./bin/logstash -f logstash_input.conf 

我们可以看到这次数据被成功地写入,并且我们可以在 Kibana 中进行查看:

当您重新运行 logstash 时,您将看到文档将被正确索引。 另一方面,我试图解决摄取管道的问题。 一开始我认为这对我来说可能是一个更好的解决方案。 但有趣的是,我对摄取管道尝试了很多不同的方法,但我找不到解决方案。 这是我尝试使用摄取管道的方法:

POST _ingest/pipeline/_simulate
{"pipeline": {"processors": [{"rename": {"field": "_id","target_field": "id"}}]},"docs": [{"_index": "myindex","_id": 1,"_source": {"_id": "2"}}]
}

我收到以下错误:

{"error": {"root_cause": [{"type": "illegal_argument_exception","reason": "unexpected metadata [_id:1] in source"}],"type": "illegal_argument_exception","reason": "unexpected metadata [_id:1] in source"},"status": 400
}
http://www.sczhlp.com/news/49609/

相关文章:

  • 网站制作 网页显示不全广告推广方案怎么写
  • 青岛外贸网站推广房产证
  • 免费模板网站制作网站设计师培训图片
  • 深圳做网站费用js企业网站模板
  • 网站设计有限公司怎么样最近几年做电影网站怎么样
  • PS2025 最新版本安装包,安装详细步骤,开启设计之旅
  • 微算法科技(NASDAQ:MLGO)一种基于FPGA的Grover搜索优化算法技术引领量子计算
  • 机器学习优化设备需求预测与供应链自动化
  • PostgreSQL技术大讲堂 - 第103讲:重讲大模型+向量数据库
  • ZBJ Converter 工具下载
  • 服装网站建设教程做一个网站成本是多少合适
  • 南昌网站建设报价网站设计的开发工具和环境
  • 安徽住房和城乡建设厅网站首页东莞网站优化教程
  • 北京朝林建设集团网站北京哪家网站建设公司比较好
  • 沈阳 建设工程 招标中心网站wordpress如何加入点赞
  • 3g微网站编程软件哪个好用
  • 上海市建设安全协会网站孟 侠深圳做企业网站的公司推荐
  • 帝国系统做企业网站黄石本土做网站的公司
  • 网站模块下载棋牌网站代理
  • 网站开发与app开发原理如何对网站页面进行优化
  • 泰州手机网站制作企业系统申报
  • 免费免费建网站博远手机销售管理系统
  • 网站建设绿茶100%提现赚钱游戏
  • 合肥知名网站推广张戈博客wordpress主题
  • 网站建设机构推广产品最好的方式
  • 有自己的网站怎么做淘宝客响应式网站建设特征
  • 创建网站要找谁苏中建设 网站
  • 关于网站建设的调查问卷舟山建设信息港门户网站
  • 9w域名河北seo基础
  • 怎样申请免费网站域名青岛开发区网站建设多少钱