我有三个表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)为每个表创建单独的核心。
你建议哪个是最好的?请告知。
答案 0 :(得分:0)
解决方案1应该没问题。如果要使用单个查询搜索所有数据,则可以将来自不同表的数据存储在单个核心中。你的主键很好。除此之外,您还可以将表名存储在另一个字段中,因此您的文档将如下所示:
{
unique_id: 1234_A,
id: 1234,
table: A,
data: <text field>
}
存储表名将帮助您执行仅限于某些表的搜索。