问题标签 [elasticsearch-mapping]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - Elasticsearch:索引推文 - 映射、模板或 ETL
我即将将来自 Apache NiFi 的推文作为 POST 索引到 Elasticsearch,并希望执行以下操作:
将
create_at
字段设为日期。我应该为此使用映射或索引模板吗?使某些字段不分析。像主题标签、URL 等。
想要存储的不是整个推文,而是一些重要的字段。像文本一样,不是所有的用户信息,而是一些字段、主题标签、来自实体的 URL(在帖子 URL 中)。不需要引用的来源。等等在这种情况下我应该使用什么?模板?使用一些 ETL 过程对推文进行预处理,以便提取我需要的数据并在 ES 中编制索引?
我有点困惑。将非常感谢建议。
提前致谢。
elasticsearch - 如何将动态日期格式应用于 Elasticsearch 中的多种类型?
我试图让 Elasticsearch 将格式中的字符串识别yyyy-MM-dd HH:mm:ss
为日期字段。我创建了一个动态日期格式并将其应用于默认映射。当我索引我的第一种类型的文档时,它工作得很好 - 数据采用这种格式的任何新字段都会被初始化为日期字段。
当我尝试创建新类型的文档时出现问题,但日期格式字段的名称与我的第一个类型相同。这些失败并出现格式错误的日期错误。
下面是一组用于演示的 Kibana 命令示例:
最后一个命令给出了这个错误:
"Invalid format: \"2015-01-01 12:00:00\" is malformed at \" 12:00:00\""
我知道不同类型中具有相同名称的字段必须具有相同的数据类型,但在这种情况下,我希望它们具有相同的数据类型 - 日期。我可以为每种新类型手动创建映射,但我希望它能够自动支持添加到我的源数据中的新类型。这似乎是动态日期格式应该做的事情。我在这里做错了吗?
elasticsearch - elasticsearch:多个字段的多字段映射
我将有一个包含多个字段的文档。让我们说'title','meta1','meta2','full_body'。我想以几种不同的方式对它们中的每一个进行索引(原始、不带停用词的词干、带状疱疹、同义词等)。因此,我将拥有以下字段:title.stemming
、title.shingles
、meta1.stemming
等meta1.shingles
。
我必须复制粘贴每个字段的映射定义吗?或者是否可以为所有索引/分析方式创建一个定义,然后仅将其应用于 4 个顶级字段中的每一个?如果是这样,如何?
python-2.7 - Elasticsearch:es.index() 在推送消息时更改映射
我正在尝试将一些这样的消息推送到 elasticsearch
因此,每条消息都有id
一个字符串字段和一个list
包含字符串值列表的字段
当我将它推入弹性并尝试在 kibana 中创建图表时,默认分析器会启动并按list
空格字符分割我的。因此,它打破了我的价值观。我试图为我的索引创建一个映射
所以这应该使用我定义的映射创建索引。现在,我通过简单的方式推送消息
但即使是现在,Kibana 也打破了我的价值观!为什么没有应用映射?
当我这样做的时候
我明白了
为什么映射发生了变化?当我这样做时如何指定映射类型
elasticsearch - Elasticsearch 新手 - 安装 Ingest 附件
我是 EKL 工具的新手,并且已经安装了 Elasticsearch 2.2,但找不到安装插件摄取附件处理器来代替映射器附件的方法。
有谁知道有什么方法可以做到这一点?
谢谢
elasticsearch - 更改所有 LOGSTASH 创建的索引的字段映射
我想将字段的类型更改location
为 geo_point。我将 ES 与 Logstash 一起使用,众所周知,索引是使用名称生成的logstash-yyyy-mm-dd
我首先创建了一个 logstash 索引并将其命名为logstash-2016-03-29
,如下所示:
Logstash-*
然后,我更改了使用以下调用的所有索引的映射:
当我运行 Logstash 配置文件时,location
索引中的所有字段logstash-2016-03-29
确实都是geo_point
.
但是,今天,自动生成的索引logstash-2016-03-30
具有类型的字段位置,String
而不是geo_point
. 我认为该类型应该应用于以 name 开头的任何索引logstash-*
。显然,我错了。我该如何解决这个问题,以便由 logstash 创建的具有该location
字段的任何未来索引都将该字段类型设置为geo_point
而不是 String?
谢谢。
elasticsearch - Elasticsearch 创建映射问题
我正在关注此博客以实现自动完成功能。我尝试创建确切的映射,但偶然发现了一些错误。
以下是我想要的映射查询。
以下是我得到的错误: -
我正在使用最新版本的 ES,即 2.3,这是 2 年前写的。我刚开始学习ES。有什么可能的解决方案?
elasticsearch - Elasticsearch 默认映射嵌套字段
下午好,
我一直在努力尝试将一个字段强制为 geo_point,但该字段位于文档内的字段内。我正在使用 elasicsearch 1.7 并努力让所有字段都匹配,以便升级到 2.3.1。当前动态创建的映射示例:
现在我有几个具有完全相同结构的文档,我想将其添加到我的默认映射中,以便对于每个新索引,它都被映射为 geo_point。到目前为止,我还没有能够做到这一点,它只是不断地以双打的形式出现。下面是我当前的 default-mapping.json
任何帮助将不胜感激。我尝试将其简化为 location:type:geo_point,我尝试删除中间的其他步骤无济于事。
下面是一个文档示例:
预先感谢您的任何帮助。
这是我的最终答案最终的样子。再次感谢所有回复的人,我希望这对 ELK 世界的其他一些新手有所帮助。
java - 无法在 Elastic 2.3.1 中索引日期
我的映射:
我的课程:
和
当我尝试索引它时,我收到以下错误
java.lang.IllegalArgumentException:无效格式:“1461223048000”在“8000”处格式错误
当我从映射中删除格式时,它需要strict_date_optional_time || epoch_millis默认为格式,但我不希望这样。
我在这里做错了什么,我该如何解决?
更新 1
当我将映射更改为:
我的班级要:
它有效,但我仍然喜欢在没有||的情况下这样做 epoch_millis。有没有办法摆脱它?
elasticsearch - 将默认值添加到日期字段
我想将当前时间作为默认值添加到日期字段(例如 solr 中的 NOW),并且我尝试通过启用它来使用 _timestamp。他是我想要拥有的
但后来我发现 _timestamp 已被弃用,并且在未来的版本中将不可用。有什么方法可以使用未弃用的 API 并使其正常工作?
提前致谢。