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
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Reply via email to