On 11 June 2012 21:29, Kay <uh.keer...@gmail.com> wrote:
> Hello,
>
> We have 2 MS SQL Server Databases which we wanted to index .But most of the
> columns in the Databases have the same names. For e.g. Both the DB’s have
> the columns First name ,Last name ,etc.

It is not clear how you want to handle this: Should the records
from both databases be indexed into the same fields, e.g.,
FirstName is always mapped to the Solr field FirstName for
both databases, or would you want that FirstName be mapped
to, say FirstName1, for the second database.

> How can you index multiple Databases using single db-data-config file and
> one schema?
>
> Here is my data-config file
> <dataConfig>
>
> <dataSource type="JdbcDataSource" name="ds-2"
> driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
> url="jdbc:sqlserver://localhost;DatabaseName= " user="" password="" />
>    <document name="PersonTable">
>                <entity dataSource="ds-2" name="People" query="SELECT
> BusinessEntityID,FirstName,LastName FROM dbo.PersonTable">
>                        <field column="BusinessEntityID" 
> name="BusinessEntityID" />
>                        <field column="FirstName" name="FirstName" />
>                        <field column="LastName" name="LastName" />
>                        <field column="Department" name="Department" />
>                        <field column="Age" name="Age" />
>
>                </entity>
>                </document>
>
>    <document name="person">
>                <entity dataSource="ds-1" name="People" query="SELECT
> BusinessEntityID,NameStyle,Title,FirstName,MiddleName,LastName,ModifiedDate
> FROM AdventureWorks.Person.Person">
>                        <field column="BusinessEntityID" 
> name="BusinessEntityID" />
>                        <field column="NameStyle" name="NameStyle" />
>                        <field column="Title" name="Title" />
>                        <field column="FirstName" name="FirstName" />
>                        <field column="MiddleName" name="MiddleName" />
>                        <field column="LastName" name="LastName" />
>                        <field column="ModifiedDate" name="ModifiedDate" />
>                </entity>
>    </document>

Never had occasion to try this, but there seems to be a problem
in the configuration here:
* You have defined datasource "ds-2" with
     <dataSource type="JdbcDataSource" name="ds-2"...>
   but there is no similar definition for "ds-1". You need to add
   another entry at the top:
     <dataSource type="JdbcDataSource" name="ds-1"...>
* I believe things should work after that, but if not you could try
  remapping the field names in the second SELECT, and
  correspondingly changing the field attributes for the second
  entity, e.g.,
     <entity dataSource="ds-1" name="People" query="SELECT
BusinessEntityID as BusinessEntityID1...>
     <field column="BusinessEntityID1" name="BusinessEntityID" />
     ...

Regards,
Gora

Reply via email to