Hey Chris, No problem. As you saw, Paul has been helping me out.
Two day meetings... eish. Hope you survived! Cheers, Tom On 13 April 2012 08:48, Mattmann, Chris A (388J) < [email protected]> wrote: > Hey Tom, > > I'm just now getting to this, sorry been in meetings all day the past 2 > days (Open Source Think > Tank). > > Anyways, done now, and looks like you've sorted this out -- it was because > UUID was a legacy > field in the project that originally used this code -- however it's really > CAS.ProductId, and glad > we are pushing for that. > > Thanks! > > Cheers, > Chris > > On Apr 11, 2012, at 6:05 AM, Thomas Bennett wrote: > > > Hey Chris, > > > > Here's a basic summary of what I've discovered so far getting my > metadata into a Solr index... > > > > SolrIndexer queries metadata for a single or multiple products from a > File Manager and put them into a Solr index. It does this by an http POST > to solr/update. Very cool. > > > > Because it's xml on the wire, its really easy to tcpdump and view the > actual POST and see what the content is :). This is how I discovered that > the indexAll was not updating solr (see below). > > > > Okay so for a simple test, I set up the following mapping, since these > fields already exist in the Solr schema.xml file: > > > > map.ExperimentID=id > > map.Observer=author > > map.Description=description > > > > Note: It seems a good idea to have an "id" field. If you look in the > solr scheme.xml file, I saw the following configuration by default: > > > > <!-- Field to use to determine and enforce document uniqueness. > > Unless this field is marked with required="false", it will be a > required field > > --> > > <uniqueKey>id</uniqueKey> > > > > Okay, so I finally ran the SolrIndexer with the -all. > > > > This piece of code (starting at line 209 of SolrIndexer.java) was never > executed. It's checking for metadata "UUID". I don't have this metadata > key. > > > > if (metadata.getMetadata("UUID") != null) { > > if (metadata.getMetadata("Deleted") == null > > > > || !"true".equals(metadata.getMetadata("Deleted"))) { > > > > try { > > > > server.add(this.getSolrDocument(metadata)); > > > > server.commit(); > > > > LOG.info("Indexed " + metadata.getMetadata("UUID")); > > > > } catch (Exception e) { > > > > LOG.severe("Could not index " + > metadata.getMetadata("UUID") > > > > + " " + e.getMessage()); > > > > } > > > > } else { > > > > LOG.info("Skipping Deleted: " + > metadata.getMetadata("UUID")); > > > > } > > > > } > > > > Question: Deleted looks optional, so no problem there, but what should I > be doing with UUID? I've changed this to be CAS.ProductId in the code, just > to check nothing else was causing a problem. I thought it would be worth > asking why UUID is specified... > > > > I've tried the single product index, which works just fine. > > > > Cheers, > > Tom > > > > On 30 March 2012 20:38, Mattmann, Chris A (388J) < > [email protected]> wrote: > > No worries...based on your email below, did you update the Solr schema? > I think you need > > to tell it to allow for all fields, by uncommenting the dynamicField > block in the schema.xml file > > to say "allow all fields" to come through, or modify the schema.xml in > Solr's conf directory to > > specify which fields to send to Solr. > > > > Does that make sense? I can provide more detailed help and will follow > up later, but > > see if that helps for now. > > > > Cheers, > > Chris > > > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > Chris Mattmann, Ph.D. > Senior Computer Scientist > NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA > Office: 171-266B, Mailstop: 171-246 > Email: [email protected] > WWW: http://sunset.usc.edu/~mattmann/ > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > Adjunct Assistant Professor, Computer Science Department > University of Southern California, Los Angeles, CA 90089 USA > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >
