Thank you Shawn! That was exactly what I was looking for! =o)

On Fri, Oct 22, 2010 at 4:29 PM, Shawn Heisey <s...@elyograg.org> wrote:
> On 10/22/2010 10:06 AM, Juan Manuel Alvarez wrote:
>>
>> My question is:
>> Every time I do an import operation (delta or full) with DIH, I only
>> need to sync the index with one schema only, so... is there a way to
>> pass a custom parameter with the schema name to DIH so I can build the
>> query with the corresponding schema name?
>
> Yes, there is.  Below is the latest version of my dih config used with a
> MySQL database.  I've got almost everything in the SELECT statement
> specified by the input URL, which gets built using the following template:
>
> http://HOST:PORT/solr/CORE/dataimport?command=COMMAND&dbHost=DBHOST&dbSchema=DBSCHEMA&dataTable=DATATABLE&sgTable=SGTABLE&numShards=NUMSHARDS&modVal=MODVAL&minDid=MINDID&maxDid=MAXDID
>
> <dataConfig>
> <dataSource type="JdbcDataSource"
>    driver="com.mysql.jdbc.Driver"
>    encoding="UTF-8"
>
>  url="jdbc:mysql://${dataimporter.request.dbServer}:3306/${dataimporter.request.dbSchema}?zeroDateTimeBehavior=convertToNull"
>    batchSize="-1"
>    user="removed"
>    password="removed"/>
> <document>
> <entity name="dataTable" pk="did"
>      query="
>        SELECT d.*,FROM_UNIXTIME(d.post_date) AS pd,
>          s.search_group_map AS sg
>        FROM ${dataimporter.request.dataTable} d
>          LEFT JOIN ${dataimporter.request.sgTable} s
>          ON d.feature=s.featurecode
>        WHERE did &gt; ${dataimporter.request.minDid}
>          AND did &lt;= ${dataimporter.request.maxDid}
>          AND (did % ${dataimporter.request.numShards})
>            IN (${dataimporter.request.modVal})
>        GROUP BY d.did"
>      deltaImportQuery="
>        SELECT d.*,FROM_UNIXTIME(d.post_date) AS pd,
>          s.search_group_map AS sg
>        FROM ${dataimporter.request.dataTable} d
>          LEFT JOIN ${dataimporter.request.sgTable} s
>          ON d.feature=s.featurecode
>        WHERE did &gt; ${dataimporter.request.minDid}
>          AND did &lt;= ${dataimporter.request.maxDid}
>          AND (did % ${dataimporter.request.numShards})
>            IN (${dataimporter.request.modVal})
>        GROUP BY d.did"
>      deltaQuery="SELECT MAX(d.did) FROM ${dataimporter.request.dataTable} d"
>>
> <!-- That lone angle bracket looks wrong, but it's not. -->
> <field column="search_group" splitBy="; *"/>
> </entity>
> </document>
> </dataConfig>
>
>

Reply via email to