我正在使用HTTP请求使用Elasticsearch,我希望看看是否有一种方法在将文档发送到客户端之前将它们分组。
作为背景,Elasticseach每天有大约3000万个文档,并且同一个文档会连续被发送几百次。我希望有一种方法可以将这数百条消息分组到一个唯一的日志中,这样我就不必在HTTP请求中发送数百个相同的文档。
另外,另一件有帮助的事情是,如果你可以在elasticsearch方面标记垃圾邮件。如果一个文档在一分钟内出现数百次,有没有一种方法可以在elasticsearch中设置spamming的值,或者在客户端设置spamming的值。
我目前正在通过聚合来查看唯一文档,也许这可以是一个开始,但我也可能遇到这样的问题,即它只返回唯一文档的计数。
1条答案
按热度按时间qkf9rpyu1#
如果您正在处理重复的文档,解决这个问题的一种方法可能是创建一个Ingest Pipeline。
您可以创建一个管道来生成文档的hash,并将
_id
设置为该散列的值。鉴于Elasticsearch ID必须是唯一的,所有重复的文档都会被摄取管道拒绝。查看Elasticsearch Fingerprint Processor以获得更多指导。