将多个表中的数据索引到solr中

时间:2014-03-12 14:25:52

标签: mysql solr

我有三个表TableA,TableB和TableC

TableA

idA ------------ PK
COL1A

表B
idB ----------- PK
col1B

表C
idC ---------- PK
col1C

我正在为单核中 solr 中的所有数据建立索引,可能有可能用 TableB 覆盖 TableC 数据TableA ,反之亦然。因为主键是自动生成的,并且在不同的表中可能具有相同的值。我该如何解决这个问题。

我有两个解决方案 1)我在考虑附加后缀pk_tablename以在 solr 中创建唯一ID。

2)为每个表创建单独的核心。

你建议哪个是最好的?
在我的业务领域,该表可以有数百万条记录。

请告知。

1 个答案:

答案 0 :(得分:0)

解决方案1应该没问题。如果要使用单个查询搜索所有数据,则可以将来自不同表的数据存储在单个核心中。你的主键很好。除此之外,您还可以将表名存储在另一个字段中,因此您的文档将如下所示:

{
  unique_id: 1234_A,
  id: 1234,
  table: A,
  data: <text field>
}

存储表名将帮助您执行仅限于某些表的搜索。