索引不同的记录类型在一个solr模式中
问题描述:
我正在努力讨论如何(无论是否可能)人们可以在单个Solr内核中索引多个不同类型的记录。 多个记录表示它们具有不同的唯一键。索引不同的记录类型在一个solr模式中
我们倾向于使用单个内核,因为我们希望能够在某些级别同时搜索所有内容,而不必一起拼凑内核。
因此,举例来说,我有产品有以下字段:
product_code <--- unique key
product_title
product_description
etc...
再就是工作列表有以下字段:
job_id <---- unique key
job_description
job_title
etc...
有多个其他实体,包括Nutch搜索索引,它将具有唯一的ID“ID”
是否可以在schema.xml中包含多个唯一键?这样id不必将每种不同类型的记录发送到不同的solr核心?
我所关心的主要问题是,在确定<uniqueKey>
时,至少需要其中一个,但并非所有发送到solr索引的记录都将具有所需的密钥。
有没有一种可以接受的方式来解决Solr中的这个问题?
答
见https://wiki.apache.org/solr/MultipleIndexes#Flattening_Data_Into_a_Single_Index和https://wiki.apache.org/solr/UniqueKey
Solr的不需要唯一键。如果您没有指定唯一的密钥,那么您需要执行以下操作 - 当您发布与现有文档具有相同密钥的新文档时,新文档不会替换旧文档,因此您必须删除先手动添加一个新的(当然是提交)。
如果您需要一个唯一的密钥,然后附加一个前缀到基于类型的ID。然后你可以有两个其他字段,如id和类型。因此,例如:
uniquekey: P1
product_code: 1
type: product
uniquekey: J1
job_id: 1
type: job
当您添加产品相关数据时,作业清单字段中的数据是什么? – JHS
对不起,如果我不清楚。我们会将这些记录与我们自己的管理后端分开提供。所以我们假设当产品数据被馈送时没有工作数据被馈送,反之亦然。 – roy