Hi Shalin,

I am using apache-solr-1.3.0 in my project. I thought it to be the latest
release. Does it not support delta import?

Thanks,
Manu


Shalin Shekhar Mangar wrote:
> 
> Which version of Solr are you using? The deltaImportQuery feature was
> added
> recently, you'd need a nightly build for it to work.
> 
> On Mon, Dec 29, 2008 at 4:57 PM, Manupriya
> <manupriya.si...@gmail.com>wrote:
> 
>>
>> Hi Noble,
>>
>> I tried with the deltaImportQuery as well. But still I am getting the
>> same
>> exception on the server console -
>>
>> Dec 29, 2008 4:53:52 PM org.apache.solr.handler.dataimport.DataImporter
>> doDeltaImport
>>
>> SEVERE: Delta Import Failed
>> java.lang.NullPointerException
>>        at
>>
>> org.apache.solr.handler.dataimport.SqlEntityProcessor.getDeltaImportQuery(SqlEntityProcessor.java:153)
>>        at
>>
>> org.apache.solr.handler.dataimport.SqlEntityProcessor.getQuery(SqlEntityProcessor.java:125)
>>        at
>>
>> org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
>>        at
>>
>> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:285)
>>        at
>> org.apache.solr.handler.dataimport.DocBuilder.doDelta(DocBuilder.java:211)
>>        at
>> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:133)
>>        at
>>
>> org.apache.solr.handler.dataimport.DataImporter.doDeltaImport(DataImporter.java:359)
>>        at
>>
>> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:388)
>>        at
>>
>> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:377)
>>
>> Another thing, I do have proper data in the DB.
>>
>> Thanks,
>> Manu
>>
>>
>> Noble Paul നോബിള്‍ नोब्ळ् wrote:
>> >
>> > The same example with deltaImportQuery would look as follows
>> > <dataConfig>
>> >    <dataSource driver="com.mysql.jdbc.Driver"
>> > url="jdbc:mysql://localhost/solr_demo_db" user="root" password="root"
>> />
>> >    <document name="products">
>> >            <entity name="item" pk="ID" query="select * from item"
>> >                deltaQuery="select id from item where last_modified >
>> > '${dataimporter.last_index_time}'"
>> > deltaImportQuery="select * from item where ID=${dataimporter.delta.ID}"
>> >>
>> >            <field column="NAME" name="name" />
>> >            <field column="NAME" name="nameSort" />
>> >            <field column="NAME" name="alphaNameSort" />
>> >
>> >            <entity name="feature" pk="ITEM_ID"
>> >                    query="select DESCRIPTION from FEATURE where
>> > ITEM_ID='${item.ID}'"
>> >                    deltaQuery="select ITEM_ID from FEATURE where
>> > last_modified > '${dataimporter.last_index_time}'"
>> >                    parentDeltaQuery="select ID from item where
>> > ID=${feature.ITEM_ID}">
>> >                <field name="features" column="DESCRIPTION" />
>> >            </entity>
>> >
>> >            <entity name="item_category" pk="ITEM_ID, CATEGORY_ID"
>> >                    query="select CATEGORY_ID from item_category where
>> > ITEM_ID='${item.ID}'"
>> >                    deltaQuery="select ITEM_ID, CATEGORY_ID from
>> > item_category where last_modified > '${dataimporter.last_index_time}'"
>> >                    parentDeltaQuery="select ID from item where
>> > ID=${item_category.ITEM_ID}">
>> >                <entity name="category" pk="ID"
>> >                        query="select DESCRIPTION from category where ID
>> =
>> > '${item_category.CATEGORY_ID}'"
>> >                        deltaQuery="select ID from category where
>> > last_modified > '${dataimporter.last_index_time}'"
>> >                        parentDeltaQuery="select ITEM_ID, CATEGORY_ID
>> from
>> > item_category where CATEGORY_ID=${category.ID}">
>> >                    <field column="description" name="cat" />
>> >                </entity>
>> >            </entity>
>> >        </entity>
>> >    </document>
>> > </dataConfig>
>> >
>> > On Mon, Dec 29, 2008 at 3:30 PM, Noble Paul നോബിള്‍ नोब्ळ्
>> > <noble.p...@gmail.com> wrote:
>> >> did you put in the data?
>> >>
>> >> On Mon, Dec 29, 2008 at 3:07 PM, Manupriya <manupriya.si...@gmail.com>
>> >> wrote:
>> >>>
>> >>> Hi Shalin,
>> >>>
>> >>> I am actually trying out the example provided at
>> >>> http://wiki.apache.org/solr/DataImportHandler.
>> >>>
>> >>> My db-data-config.xml is as following -
>> >>>
>> >>> <dataConfig>
>> >>>    <dataSource driver="com.mysql.jdbc.Driver"
>> >>> url="jdbc:mysql://localhost/solr_demo_db" user="root" password="root"
>> />
>> >>>    <document name="products">
>> >>>            <entity name="item" pk="ID" query="select * from item"
>> >>>                deltaQuery="select id from item where last_modified >
>> >>> '${dataimporter.last_index_time}'">
>> >>>            <field column="NAME" name="name" />
>> >>>            <field column="NAME" name="nameSort" />
>> >>>            <field column="NAME" name="alphaNameSort" />
>> >>>
>> >>>            <entity name="feature" pk="ITEM_ID"
>> >>>                    query="select DESCRIPTION from FEATURE where
>> >>> ITEM_ID='${item.ID}'"
>> >>>                    deltaQuery="select ITEM_ID from FEATURE where
>> >>> last_modified > '${dataimporter.last_index_time}'"
>> >>>                    parentDeltaQuery="select ID from item where
>> >>> ID=${feature.ITEM_ID}">
>> >>>                <field name="features" column="DESCRIPTION" />
>> >>>            </entity>
>> >>>
>> >>>            <entity name="item_category" pk="ITEM_ID, CATEGORY_ID"
>> >>>                    query="select CATEGORY_ID from item_category where
>> >>> ITEM_ID='${item.ID}'"
>> >>>                    deltaQuery="select ITEM_ID, CATEGORY_ID from
>> >>> item_category where last_modified >
>> '${dataimporter.last_index_time}'"
>> >>>                    parentDeltaQuery="select ID from item where
>> >>> ID=${item_category.ITEM_ID}">
>> >>>                <entity name="category" pk="ID"
>> >>>                        query="select DESCRIPTION from category where
>> ID
>> >>> =
>> >>> '${item_category.CATEGORY_ID}'"
>> >>>                        deltaQuery="select ID from category where
>> >>> last_modified > '${dataimporter.last_index_time}'"
>> >>>                        parentDeltaQuery="select ITEM_ID, CATEGORY_ID
>> >>> from
>> >>> item_category where CATEGORY_ID=${category.ID}">
>> >>>                    <field column="description" name="cat" />
>> >>>                </entity>
>> >>>            </entity>
>> >>>        </entity>
>> >>>    </document>
>> >>> </dataConfig>
>> >>>
>> ---------------------------------------------------------------------------------------------------
>> >>>
>> >>> My DB structure is as following -
>> >>>
>> >>> DROP TABLE IF EXISTS solr_demo_db.item;
>> >>> CREATE TABLE `item` (
>> >>>  `ID` int(2) NOT NULL auto_increment,
>> >>>  `name` varchar(100) default NULL,
>> >>>  `manu` varchar(20) default NULL,
>> >>>  `weight` varchar(20) default NULL,
>> >>>  `price` varchar(20) default NULL,
>> >>>  `popularity` varchar(2) default NULL,
>> >>>  `includes` varchar(10) default NULL,
>> >>>  `last_modified` datetime default NULL,
>> >>>  PRIMARY KEY  (`ID`)
>> >>> ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
>> >>>
>> >>> DROP TABLE IF EXISTS solr_demo_db.feature;
>> >>> CREATE TABLE `feature` (
>> >>>  `DESCRIPTION` varchar(100) default NULL,
>> >>>  `ITEM_ID` int(2) NOT NULL,
>> >>>  `last_modified` datetime default NULL,
>> >>>  PRIMARY KEY  (`ITEM_ID`)
>> >>> ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
>> >>>
>> >>> DROP TABLE IF EXISTS solr_demo_db.category;
>> >>> CREATE TABLE `category` (
>> >>>  `ID` int(2) NOT NULL auto_increment,
>> >>>  `DESCRIPTION` varchar(100) default NULL,
>> >>>  `last_modified` date default NULL,
>> >>>  PRIMARY KEY  (`ID`)
>> >>> ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
>> >>>
>> >>> DROP TABLE IF EXISTS solr_demo_db.item_category;
>> >>> CREATE TABLE `item_category` (
>> >>>  `ITEM_ID` int(2) NOT NULL default '0',
>> >>>  `CATEGORY_ID` int(2) NOT NULL default '0',
>> >>>  `last_modified` date default NULL,
>> >>>  PRIMARY KEY  (`ITEM_ID`,`CATEGORY_ID`)
>> >>> ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
>> >>>
>> >>> Am I doing something wrong here?
>> >>>
>> >>> Thanks,
>> >>> Manu
>> >>>
>> >>>
>> >>> Shalin Shekhar Mangar wrote:
>> >>>>
>> >>>> What does your data-config look like? especially the delta query
>> part.
>> >>>>
>> >>>> On Mon, Dec 29, 2008 at 2:35 PM, Manupriya
>> >>>> <manupriya.si...@gmail.com>wrote:
>> >>>>
>> >>>>>
>> >>>>> Hi,
>> >>>>>
>> >>>>> I am using Delta DataImport feature to partially refresh the
>> indexes.
>> >>>>>
>> >>>>> Note - full-import is working perfectly fine. But I need to do
>> >>>>> delta-import
>> >>>>> as I do not want to rebuild all the indexes.
>> >>>>>
>> >>>>> My database structure is same as mentioned in the example at
>> >>>>> http://wiki.apache.org/solr/DataImportHandler.
>> >>>>>
>> >>>>> http://www.nabble.com/file/p21200498/example-schema.png
>> >>>>>
>> ---------------------------------------------------------------------------
>> >>>>> The dataimport.properties has the value as -
>> >>>>>
>> >>>>> #Mon Dec 29 14:08:12 IST 2008
>> >>>>> last_index_time=2008-12-29 14\:08\:12
>> >>>>>
>> ---------------------------------------------------------------------------
>> >>>>> I have changed the last_modified for the 'tem' table as current
>> >>>>> timestamp.
>> >>>>> And when I query the DB, I get the following result -
>> >>>>>
>> >>>>> http://www.nabble.com/file/p21200498/data.jpg
>> >>>>>
>> >>>>>
>> -------------------------------------------------------------------------------------------------
>> >>>>>
>> >>>>> But when I call delta data-import, it returns me the following
>> >>>>> response -
>> >>>>>
>> >>>>> Server Response:
>> >>>>>
>> >>>>>
>> {responseHeader={status=0,QTime=16},initArgs={defaults={config=db-data-config.xml}},command=delta-import,status=idle,importResponse=,statusMessages={},WARNING=This
>> >>>>> response format is experimental.  It is likely to change in the
>> >>>>> future.}
>> >>>>>
>> >>>>>
>> >>>>>
>> ---------------------------------------------------------------------------------------------------
>> >>>>> And when I query for data for '*:*', I get the following -
>> >>>>> Note - Data returned by query doesnt reflect the correct timestamp
>> >>>>> from
>> >>>>> database.
>> >>>>>
>> >>>>> SolrDocument(1)
>> >>>>> Field Name & Value: includes=12
>> >>>>> Field Name & Value: features=[demo feature, demo feature 1]
>> >>>>> Field Name & Value: price=12.0
>> >>>>> Field Name & Value: timestamp=Mon Dec 29 13:57:54 IST 2008
>> >>>>> Field Name & Value: manu=manu-12
>> >>>>> Field Name & Value: sku=1
>> >>>>> Field Name & Value: id=1
>> >>>>> Field Name & Value: popularity=1
>> >>>>> Field Name & Value: weight=12.0
>> >>>>> SolrDocument(2)
>> >>>>> Field Name & Value: includes=43
>> >>>>> Field Name & Value: features=demo feature 2
>> >>>>> Field Name & Value: price=10.0
>> >>>>> Field Name & Value: timestamp=Mon Dec 29 13:57:54 IST 2008
>> >>>>> Field Name & Value: manu=Demo - 12
>> >>>>> Field Name & Value: sku=2
>> >>>>> Field Name & Value: id=2
>> >>>>> Field Name & Value: popularity=5
>> >>>>> Field Name & Value: weight=12.0
>> >>>>> SolrDocument(3)
>> >>>>> Field Name & Value: includes=1
>> >>>>> Field Name & Value: features=demo -3
>> >>>>> Field Name & Value: price=1.0
>> >>>>> Field Name & Value: timestamp=Mon Dec 29 13:57:54 IST 2008
>> >>>>> Field Name & Value: manu=manu - 36
>> >>>>> Field Name & Value: sku=3
>> >>>>> Field Name & Value: id=3
>> >>>>> Field Name & Value: popularity=1
>> >>>>> Field Name & Value: weight=1.0
>> >>>>> SolrDocument(4)
>> >>>>> Field Name & Value: includes=2
>> >>>>> Field Name & Value: features=demo - 4
>> >>>>> Field Name & Value: price=2.0
>> >>>>> Field Name & Value: timestamp=Mon Dec 29 13:57:55 IST 2008
>> >>>>> Field Name & Value: manu=manu - 46
>> >>>>> Field Name & Value: sku=4
>> >>>>> Field Name & Value: id=4
>> >>>>> Field Name & Value: popularity=2
>> >>>>> Field Name & Value: weight=2.0
>> >>>>> SolrDocument(5)
>> >>>>> Field Name & Value: includes=3
>> >>>>> Field Name & Value: features=demo - 5
>> >>>>> Field Name & Value: price=3.0
>> >>>>> Field Name & Value: timestamp=Mon Dec 29 13:57:55 IST 2008
>> >>>>> Field Name & Value: manu=manu - 56
>> >>>>> Field Name & Value: sku=5
>> >>>>> Field Name & Value: id=5
>> >>>>> Field Name & Value: popularity=3
>> >>>>> Field Name & Value: weight=3.0
>> >>>>> SolrDocument(6)
>> >>>>> Field Name & Value: includes=4
>> >>>>> Field Name & Value: features=demo - 66
>> >>>>> Field Name & Value: price=4.0
>> >>>>> Field Name & Value: timestamp=Mon Dec 29 13:57:55 IST 2008
>> >>>>> Field Name & Value: manu=manu - 66
>> >>>>> Field Name & Value: sku=6
>> >>>>> Field Name & Value: id=6
>> >>>>> Field Name & Value: popularity=4
>> >>>>> Field Name & Value: weight=4.0
>> >>>>>
>> >>>>>
>> >>>>>
>> ------------------------------------------------------------------------------------------
>> >>>>> My Java code that calls delta import is as follows -
>> >>>>>
>> >>>>> public static void main(String[] args) throws IOException,
>> >>>>> SolrServerException {
>> >>>>> CommonsHttpSolrServer server = new
>> >>>>> CommonsHttpSolrServer("http://localhost:8983/solr";);
>> >>>>> BinaryResponseParser parser = new BinaryResponseParser();
>> >>>>> server.setParser(parser);
>> >>>>>
>> >>>>> ModifiableSolrParams params = new ModifiableSolrParams();
>> >>>>> params.set("qt", "/dataimport");
>> >>>>> params.set("command", "delta-import");
>> >>>>> params.set("commit", "true");
>> >>>>> params.set("wt","json");
>> >>>>>
>> >>>>> try{
>> >>>>>
>> >>>>>    QueryResponse response = server.query(params);
>> >>>>>    server.commit();
>> >>>>>    System.out.println("Server Response: " + response);
>> >>>>>
>> >>>>>    SolrQuery query = new SolrQuery("*:*");
>> >>>>>    QueryResponse results = server.query(query);
>> >>>>>
>> >>>>>    SolrDocumentList list = results.getResults();
>> >>>>>
>> >>>>>    int index = 1;
>> >>>>>    for (SolrDocument solrDocument : list) {
>> >>>>>
>> >>>>>        System.out.println("SolrDocument("+index+")");
>> >>>>>        Iterator<Entry<String, Object>> iterator =
>> >>>>> solrDocument.iterator();
>> >>>>>
>> >>>>>        while(iterator.hasNext()){
>> >>>>>                System.out.println("Field Name & Value:
>> >>>>> "+iterator.next());
>> >>>>>        }
>> >>>>>
>> >>>>>        index++;
>> >>>>>        }
>> >>>>>
>> >>>>>    }catch(Exception ex){
>> >>>>>
>> >>>>>        System.out.println("Exception Occured:"+ex);
>> >>>>>    }
>> >>>>>
>> >>>>>  }
>> >>>>>
>> ---------------------------------------------------------------------------
>> >>>>>
>> >>>>> Does SOLR do some kind of caching? I dont understand as why the
>> >>>>> updated
>> >>>>> values are not queried correctly from DB?
>> >>>>>
>> >>>>> There are no errors in the logs. But I can see an error on the
>> server
>> >>>>> console -
>> >>>>>
>> >>>>> SEVERE: Delta Import Failed
>> >>>>> java.lang.NullPointerException
>> >>>>>        at
>> >>>>>
>> >>>>>
>> org.apache.solr.handler.dataimport.SqlEntityProcessor.getDeltaImportQuery(SqlEntityProcessor.java:153)
>> >>>>>        at
>> >>>>>
>> >>>>>
>> org.apache.solr.handler.dataimport.SqlEntityProcessor.getQuery(SqlEntityProcessor.java:125)
>> >>>>>        at
>> >>>>>
>> >>>>>
>> org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
>> >>>>>        at
>> >>>>>
>> >>>>>
>> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:285)
>> >>>>>        at
>> >>>>>
>> org.apache.solr.handler.dataimport.DocBuilder.doDelta(DocBuilder.java:211)
>> >>>>>        at
>> >>>>>
>> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:133)
>> >>>>>        at
>> >>>>>
>> >>>>>
>> org.apache.solr.handler.dataimport.DataImporter.doDeltaImport(DataImporter.java:359)
>> >>>>>        at
>> >>>>>
>> >>>>>
>> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:388)
>> >>>>>        at
>> >>>>>
>> >>>>>
>> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:377)
>> >>>>>
>> >>>>>
>> >>>>> What can be the reason for this error?
>> >>>>>
>> >>>>> Thanks,
>> >>>>> Manu
>> >>>>>
>> >>>>> --
>> >>>>> View this message in context:
>> >>>>>
>> http://www.nabble.com/Delta-DataImport-is-not-picking-the-modified-value-in-DB-tp21200498p21200498.html
>> >>>>> Sent from the Solr - User mailing list archive at Nabble.com.
>> >>>>>
>> >>>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> Regards,
>> >>>> Shalin Shekhar Mangar.
>> >>>>
>> >>>>
>> >>>
>> >>> --
>> >>> View this message in context:
>> >>>
>> http://www.nabble.com/Delta-DataImport-is-not-picking-the-modified-value-in-DB-tp21200498p21200786.html
>> >>> Sent from the Solr - User mailing list archive at Nabble.com.
>> >>>
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> --Noble Paul
>> >>
>> >
>> >
>> >
>> > --
>> > --Noble Paul
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Delta-DataImport-is-not-picking-the-modified-value-in-DB-tp21200498p21201980.html
>> Sent from the Solr - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Regards,
> Shalin Shekhar Mangar.
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Delta-DataImport-is-not-picking-the-modified-value-in-DB-tp21200498p21202107.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to