Hello,

I am trying to use Solr to store fields from two different database tables,
where the primary keys are in the format of "1, 2, 3, ...."

In Java, we build different POJO classes for these two database tables:

table1.java

@SolrIndex(name="id")

private String idTable1

....


table2.java

@SolrIndex(name="id")

private String idTable2



And later we add these fields defined in the two different types of tables
and commit it to solrServer.


Here is the scenario where I am having issues:

(1) commit a row from table1 with primary key = "3", this generates a
document in Solr

(2) commit another row from table2 with the same value of primary key =
"3", this overwrites the document generated in step (1).


What we really want to achieve is to keep both rows in (1) and (2) because
they are from different tables. I've read something from google search and
it appears that we might be able to do it via keeping multiple cores in
solr? Could anyone point at how to implement multiple core to achieve this?
To be more specific, when I commit the row as a document, I don't have a
place to pick a certain core and I am not sure if it makes any sense for me
to specify a core when I commit the document since the layer I am working
on should abstract it away from me.



The second question is - if we don't want to do a multicore (since we can't
easily search for related data between multiple cores), how can we resolve
this issue so both rows from different database table which shares the same
primary key still exist? We don't want to have to always change the primary
key format to ensure a uniqueness of the primary key among all different
types of database tables.


thanks!


Jason

Reply via email to