Elasticsearch:索引推文 - 映射、模板或 ETL

Elasticsearch: Indexing tweets - mapping, template or ETL

我准备将来自 Apache NiFi 的推文索引为 POST 并希望执行以下操作:

  1. create_at 字段设置为日期。我应该为此使用映射或索引模板吗?

  2. 使某些字段不被分析。比如话题标签、网址等

  3. 不是要存储整个推文,而是要存储一些重要字段。像文本一样,不是所有用户信息,而是一些字段、主题标签、来自实体的 URL(在 post URL 中)。不需要引用来源。等等。 在这种情况下我应该使用什么?模板?使用一些 ETL 过程预处理推文,以便提取我需要的数据并在 ES 中建立索引?

我有点困惑。非常感谢建议。

提前致谢。

我猜你的 NiFi 中配置了 GetTwitter 和 PostHTTP 之类的东西。 NiFi 已经是某种 ETL,因此您可能不需要另一个。但是,由于您不想为来自 Twitter 的整个 JSOn 编制索引,因此您显然需要另一个 NiFi 进程来 select 您想要的并将原始 JSON 转换为另一个更多轻量级的。 Here 是关于如何为 Solr 执行此操作的示例,但我不确定 Elasticsearch 是否存在相同的处理器。

This article 关于使用 Logstash 将 Twitter 数据流式传输到 Elasticsearch 显示了一个可能的索引模板,您可以使用它来塑造自己的模板(即,如果您愿意,可以添加 create_at 数据字段)。

由于您不想为所有内容编制索引,适合您的方法显然是提出您自己的映射,然后您可以在索引模板中使用它。使用索引模板,您将能够创建您认为合适的 daily/weekly/monthly 推特索引。