这似乎是一个非常简单的问题,但由于某种原因,我仍然无法理解如何解决这个问题。我有一个弹性搜索集群,使用twitter河下载推文。我想实现一个情绪分析模块,它可以获取每个推文并计算得分(+ ve / -ve)等。我希望为每个现有推文以及新推文计算得分,然后使用Kibana。
但是,我不知道应该在弹性搜索管道中将调用分配模块放在哪里。
我已经考虑过修改twitter river插件的选项,但这不会回溯。
基本上,我需要回答两个问题: - 1)如何在索引文档时调用python / java代码,以便我可以相应地修改json。 2)如何使用相同的代码修改ES中的所有现有文档。
答案 0 :(得分:3)
如果您不希望外部应用程序在索引Elasticsearch中的文档之前进行分析,我认为最好的方法是编写一个执行此操作的插件。您可以编写一个实现自定义分析器的插件来执行情绪分析。然后在映射中定义要运行分析器的字段。
查看分析插件的示例 - https://github.com/barminator/elasticsearch-analysis-annotation https://github.com/yakaz/elasticsearch-analysis-combo/
要在所有现有文档上运行分析,您需要在定义正确的映射后重新索引它们。