[ 
https://issues.apache.org/jira/browse/SOLR-469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602089#action_12602089
 ] 

rs edited comment on SOLR-469 at 6/3/08 2:59 PM:
--------------------------------------------------------------

Paul,

The current version of the code seems not to allow the construction 
pk="forum.forumId" you're talking about. I did a small patch to make it 
possible. I don't know if it's the correct way to do it but it worked well for 
me.

Here is the patch:

{noformat}
--- 
a/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/SqlEntityProcessor.java
+++ 
b/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/SqlEntityProcessor.java
@@ -124,7 +124,9 @@ public class SqlEntityProcessor extends EntityProcessorBase 
{
         sb.append(" and ");
         first = false;
       }
-      Object val = resolver.resolve(primaryKeys[i]);
+      // Only send the field part of the pk when pk includes the table ref
+      String[] pkParts = primaryKeys[i].split("\\.");
+      Object val = resolver.resolve(pkParts[pkParts.length - 1]);
       sb.append(primaryKeys[i]).append(" = ");
       if (val instanceof Number) {
         sb.append(val.toString());
{noformat}

Hope that helps.

      was (Author: rs):
    Paul,

The current version of the code seems not to allow the construction 
pk="forum.forumId" you're talking about. I did a small patch to make it 
possible, I don't know if it's the correct way to do it but it works well for 
me. Here is the patch:

{noformat}
--- 
a/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/SqlEntityProcessor.java
+++ 
b/contrib/dataimporthandler/src/main/java/org/apache/solr/handler/dataimport/SqlEntityProcessor.java
@@ -124,7 +124,9 @@ public class SqlEntityProcessor extends EntityProcessorBase 
{
         sb.append(" and ");
         first = false;
       }
-      Object val = resolver.resolve(primaryKeys[i]);
+      // Only send the field part of the pk when pk includes the table ref
+      String[] pkParts = primaryKeys[i].split("\\.");
+      Object val = resolver.resolve(pkParts[pkParts.length - 1]);
       sb.append(primaryKeys[i]).append(" = ");
       if (val instanceof Number) {
         sb.append(val.toString());
{noformat}

Hope that helps.
  
> Data Import RequestHandler
> --------------------------
>
>                 Key: SOLR-469
>                 URL: https://issues.apache.org/jira/browse/SOLR-469
>             Project: Solr
>          Issue Type: New Feature
>          Components: update
>    Affects Versions: 1.3
>            Reporter: Noble Paul
>            Assignee: Grant Ingersoll
>             Fix For: 1.3
>
>         Attachments: SOLR-469-contrib.patch, SOLR-469.patch, SOLR-469.patch, 
> SOLR-469.patch, SOLR-469.patch, SOLR-469.patch, SOLR-469.patch, 
> SOLR-469.patch, SOLR-469.patch
>
>
> We need a RequestHandler Which can import data from a DB or other dataSources 
> into the Solr index .Think of it as an advanced form of SqlUpload Plugin 
> (SOLR-103).
> The way it works is as follows.
>     * Provide a configuration file (xml) to the Handler which takes in the 
> necessary SQL queries and mappings to a solr schema
>           - It also takes in a properties file for the data source 
> configuraution
>     * Given the configuration it can also generate the solr schema.xml
>     * It is registered as a RequestHandler which can take two commands 
> do-full-import, do-delta-import
>           -  do-full-import - dumps all the data from the Database into the 
> index (based on the SQL query in configuration)
>           - do-delta-import - dumps all the data that has changed since last 
> import. (We assume a modified-timestamp column in tables)
>     * It provides a admin page
>           - where we can schedule it to be run automatically at regular 
> intervals
>           - It shows the status of the Handler (idle, full-import, 
> delta-import)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to