SOLR搜索:消除重复的电子邮件地址

Adi*_*lik 0 solr

如果我的SOLR索引中有2条记录使用相同的电子邮件地址,并且我的关键字搜索在结果集中获取了它们,我该如何显示其中一条.例如;

记录1:

<doc>
     <id>123</id>
     <name>Adil Malik</name>
     <email>abc@hotmail.com</email>
     <jobtitile>Software Engineer</jobtitle>
</doc>
Run Code Online (Sandbox Code Playgroud)

记录2:

<doc>
     <id>456</id>
     <name>Adil Malik</name>
     <email>abc@hotmail.com</email>
     <jobtitile>Database Developer</jobtitle>
</doc>
Run Code Online (Sandbox Code Playgroud)

如果我们使用"abc@hotmail.com"搜索,它将返回两个记录,但我想显示其中任何一个.如果我们有2个相同的电子邮件地址,我如何在SOLR搜索中查询只显示一条记录?

注意:我想将这两个记录保存到我的SOLR索引中.


回复@Layke

在此输入图像描述

Lay*_*yke 8

您应该对FieldCollapsing以及重复数据删除进行一些阅读(重复数据删除可以防止文档完全进入索引,这不是您想要的,但我会将其保留在这里以帮助其他可能适合的读者.)

要使用FieldCollapsing,您将使用您的查询并拥有 group: true , group.field : email

但是,查看您提供的文档示例,我可能会说您设计的架构错误,而您实际想要使用的是多值字段.

在这里阅读这个问题,它可能会解释/建议你应该如何使用MVF.

Solr中"multiValued"字段类型的用途是什么?