Hi,

I'm quite new with Solr.
I've searched for this but found no answer to my needs, which seems to be quite common though.

Let's say I have three entities in my database (I have more than that but it's for the sake of simplicity) :

File *------* Procedure *------* Organ
     1      n           1      m

All three entities only contain an id (let's say "file_ref", "procedure_ref" and "organ_ref") which are indexed and stored strings.

I'd like to be able to retrieve documents containing all three fields - obviously since they are stored. But if I query for everything ("*:*") I don't get (file count)*n*m documents, only (file count) documents.

I'm using this kind of SQL query to import the data :

<dataConfig>
  <!-- ... -->
  <document name="files">
<entity name="file" pk="file_id" query="select file_ref as file_id from file">
      <field column="file_id" name="file_ref"/>
<entity name="procedure" pk="proc_id" query="select procedure_ref as proc_id from procedure where file_fk = ${file_id}>
        <field column="proc_id" name="procedure_ref"/>
<entity name="organ" pk="organ_id" query="select organ_ref as organ_id from organ where procedure_fk = ${proc_id}>
          <field column="organ_id" name="organ_ref"/>
    </entity>
  </document>
</dataConfig>

Any thoughts/links about how to properly denormalize - and obtain a cartesian product - a relational database ?

Thanks.
--
Bruno Dusausoy
Software Engineer
YP5 Software
--
Pensez environnement : limitez l'impression de ce mail.
Please don't print this e-mail unless you really need to.

Reply via email to