当前位置: 首页 > 面试题库 >

Elasticsearch:从索引中删除重复项

太叔凌龙
2023-03-14
问题内容

我有一个包含多个重复条目的索引。它们具有不同的ID,但其他字段具有相同的内容。

例如:

{id: 1, content: 'content1'}
{id: 2, content: 'content1'}
{id: 3, content: 'content2'}
{id: 4, content: 'content2'}

删除重复项后:

{id: 1, content: 'content1'}
{id: 3, content: 'content2'}

有没有一种方法可以删除所有重复项并仅保留一个不同的条目,而无需手动比较所有条目?


问题答案:

我使用rails,如有必要,我将使用FORCE=y命令导入内容,该命令将删除并重新索引该索引和类型的所有内容……但是不确定您在哪个环境中运行ES。我只能看到的问题是数据源是否您正在从中导入(即数据库)的记录重复。我想我首先会看到数据源是否可以固定,如果可行的话,然后重新索引所有内容;否则,您可以尝试创建一个自定义导入方法,该方法仅为每个记录的重复项之一编制索引。

此外,我知道这与您要删除重复的条目不符,但是您可以简单地自定义搜索,以便仅通过最新的“时间戳记”或索引重复数据删除的数据来返回重复的ID之一,并且按您的内容字段分组-查看此帖子是否有帮助。即使这仍会在您的索引中保留重复的记录,但至少它们不会出现在搜索结果中。

我也发现了这一点:Elasticsearch删除重复项

我尝试过考虑多种可能的情况,以供您查看这些选项中的任何一项是否有效,或者至少可以临时解决。



 类似资料:
  • 问题内容: 我正在使用带有NEST的C#.NET应用程序来创建索引。 我创建了一个Elasticsearch索引,客户可以查询该索引,称为index_1。然后,我使用应用程序的不同实例构建索引的另一个版本,并将其称为index_1_temp。 我将index_1_temp重命名为index_1然后删除原始index_1的最安全方法是什么? 我知道ES具有别名,但是我不确定如何将其用于此任务 编辑:

  • 问题内容: 我有一个索引,其中很多纸在同一字段中具有相同的值。在这一领域,我有一个重复数据删除技术。 聚合器将作为计数器来找我。我想要一份文件清单。 我的索引: Doc 1 {domain:’domain1.fr’,name:’name1’,date:‘01 -01-2014’} Doc 2 {domain:’domain1.fr’,name:’name1’,date:‘01 -02-2014’}

  • 问题内容: 我的许多日志都以logstash-Year- Week格式编制索引。那就是如果我想删除超过几周的索引,如何在elasticsearch中实现。有没有简单,无缝的方法可以做到这一点? 问题答案: 策展人将是这里的理想之选。您可以在这里找到链接-https: //github.com/elastic/curator 如下所示的命令应该可以正常工作- 您可以将其保留在CRON中,以偶尔删除索

  • 我们正在使用AWS弹性搜索日志。日志通过Logstash连续流式传输。定期删除旧索引的最佳方法是什么? 我搜索了一下,推荐的各种方法有: > 使用lambda删除旧索引-https://medium.com/@egonbraun/perioadly-cleaning-ellasticsearch-indexes-using-aws-lambda-f8df0ebf4d9f 使用计划的docker容器

  • 问题内容: 我正在使用SQL Server 2008,并且拥有一个数据库,其中包含150个以上具有重复索引的表。 我发现一些SQL脚本将列出重复的索引,但是我不确定是否应该信任它们。据说他们说我有400多个重复索引;我不确定这是否正确,因此不希望使用它们来自动删除重复项。 如何确定找到重复索引并将其删除? 问题答案: 查看Tom LaRock出色的“如何查找重复索引”博客文章-他详细解释了如何进行

  • 我有一个数据框 我只想保留唯一的索引,因为索引1是重复的,我想删除它的第二个实例,我该怎么做?我想要我的结果