I am importing data from two database tables into solr.  The main table is
called 'gene'.  The other table is called 'taxon'.  The two tables are
connected through 'taxon' column in 'gene' table and 'taxon_oid' column in
'taxon' table.  In another word, 'gene.taxon = taxon.taxon_oid'.

I want the 'domain' column in 'taxon' table to show up together with
columns in gene table.   Unfortunately, the 'domain' column refuse to be
displayed.  See below for related markup in data-config.xml and schema.xml.

data-config.xml:
<dataConfig>
    <dataSource>
    ......
    </dataSource>
    <document>
        <entity name="gene" pk="gene_oid" query="select * from gene">
            <field name="gene_oid" column="gene_oid" />
            <field name="gene_display_name" column="gene_display_name" />
            <field name="locus_tag" column="locus_tag" />
            <field name="scaffold" column="scaffold" />
            <field name="taxon" column="taxon" />

            <entity name="taxon" query="select domain from taxon where
taxon_oid='${gene.taxon}'" >
                <field name="domain" column="domain" />
            </entity>
        </entity>
    </document>
<dataConfig>

schema.xml:

   <field name="gene_oid" type="integer" indexed="true" stored="true"
required="true" multiValued="false" />
   <field name="gene_display_name" type="string" indexed="true"
stored="true"/>
   <field name="locus_tag" type="string" indexed="true" stored="true"/>
   <field name="scaffold" type="integer" indexed="true" stored="true"/>
   <field name="taxon" type="integer" indexed="true" stored="true"/>
   <field name="domain" type="string" indexed="true" stored="true"/>

    <copyField source="gene_oid" dest="text"/>
    <copyField source="gene_display_name" dest="text"/>
    <copyField source="locus_tag" dest="text"/>
    <copyField source="taxon" dest="text"/>
    <copyField source="domain" dest="text"/>


The import goes smoothly.  However, when I did the 'query' in admin
browser, the 'domain' column never show up.

http://localhost:8983/solr/imgdb/select?q=*%3A*&wt=xml&indent=true

<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">7</int>
  <lst name="params">
    <str name="indent">true</str>
    <str name="q">*:*</str>
    <str name="_">1371500131137</str>
    <str name="wt">xml</str>
  </lst></lst><result name="response" numFound="999" start="0">
  <doc>
    <int name="scaffold">637000454</int>
    <str name="gene_display_name">hypothetical protein</str>
    <int name="taxon">637000261</int>
    <str name="locus_tag">SBO_2569</str>
    <int name="gene_oid">637808244</int></doc>  ....
</result></response>


I want the <doc/> to be something like:

  <doc>
    <int name="scaffold">637000454</int>
    <str name="gene_display_name">hypothetical protein</str>
    <int name="taxon">637000261</int>
    <str name="locus_tag">SBO_2569</str>
    <int name="gene_oid">637808244</int>
    <str name="domain">bacteria</str> </doc>

Could someone help me and let me know what went wrong?  Thanks ahead.

Reply via email to