I'm also working on this with Bill. On Tue, Apr 02, 2019 at 09:44:16AM +0800, Zheng Lin Edwin Yeo wrote: > Previously, did you index the date in the same format as you are using now, > or in the Solr format of "YYYY-MM-DDTHH:MM:SSZ"?
As may be seen from the sample code: > > doc.addField ( "date", new java.util.Date() ); we were not using a string format at all, but passing a java.util.Date object. In the past this was interpreted successfully and correctly. After upgrading, we get an error: > > Invalid Date String: 'Sun Jul 31 19:00:00 CDT 2016' which suggests to me that something in or below SolrInputDocument.addField(String, Object) is applying Date.toString() to the Object, which yields a string format that Solr does not understand. I am dealing with this by trying to hunt down all the places where Date was passed to addField, and explicitly convert it to a String in Solr format. But we would like to know if there is a better way, or at least what I did wrong. The SolrJ documentation says nothing about how the field value Object is handled. It does say that it should match the schema, but I can find no table showing what Java object types "match" the stock schema fieldtype classes such as DatePointField. I would naively suppose that j.u.Date is a particularly *good* match for DatePointField. What have I missed? > On Tue, 2 Apr 2019 at 00:32, Bill Tantzen <tantz...@umn.edu> wrote: > > > In a legacy application using Solr 4.1 and solrj, I have always been > > able to add documents with TrieDateField types using java.util.Date > > objects, for instance, > > > > doc.addField ( "date", new java.util.Date() ); > > > > having recently upgraded to Solr 7.7, and updating my schema to > > leverage DatePointField as my type, that code no longer works, it > > throws an exception with an error like: > > > > Invalid Date String: 'Sun Jul 31 19:00:00 CDT 2016' > > > > I understand that this String is not what solr expects, but in lieu of > > formatting the correct String, is there no longer a way to pass in a > > simple Date object? Was there some kind of implicit conversion taking > > place earlier that is no longer happening? > > > > In fact, in the some of the example code that come with the solr > > distribution, (SolrExampleTests.java), document timestamp fields are > > added using the same AddField call I am attempting to use, so I am > > very confused. > > > > Thanks for any advice! > > > > Regards, > > Bill > > -- Mark H. Wood Lead Technology Analyst University Library Indiana University - Purdue University Indianapolis 755 W. Michigan Street Indianapolis, IN 46202 317-274-0749 www.ulib.iupui.edu
signature.asc
Description: PGP signature