我有一个solr服务器,该服务器具有" PhoneNumbers*"
的动态字段当它通过mongo-connector从我们的mongo数据库收到记录时,最终看起来像这样:
{
phoneNumbers.0: "123-456-7890",
phoneNumbers.1: "321-654-0987"
}
我有办法只对电话号码字段查询。这样的东西:
phoneNumbers.*:"123-456-7890"
我正在尝试防止像这样的硬编码:
phoneNumbers.0:"123-456-7890" || phoneNumbers.1:"123-456-7890" || phoneNumbers.2:"123-456-7890"...
.0
和 .1
条目来自mongo连接器,使文档变平,以允许在solr中存在任何子图表。
解决此问题的最简单方法是添加一个字段以包含所有值,并将字段设置为多估件(以便可以保留多个值),然后使用copyField
指令告诉Solr将所有内容放在PhoneNumbers中。然后,您可以搜索该字段以匹配phoneNumbers
字段的任何条目。
例如:
<copyField source="phoneNumbers.*" dest="phoneNumbers" />