Yeah my bad, I should have caught this when porting it over, but didn't!

Cheers,
Chris

On Apr 12, 2012, at 3:32 AM, Ramirez, Paul M (388J) wrote:

> This UUID stuff should have been dropped when it was ported to Apache. This 
> was a project specific thing where the team that developed it had a different 
> unique id (UUID). 
> 
> --Paul 
> 
> On Apr 11, 2012, at 6:06 PM, "Thomas Bennett" <[email protected]> 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