That definitely sounds like the proper way to go + will try. Im not too concerned w/ my keys coming back just that I can't seem to run the DataImportHandler w/o one.

I was able to temporarily get around it by returning it in the entity query. Ie:

<entity query="select concat(col1,col2,col3,col4) as id">
  <field name="id" column="id" />
</entity>

BTW, the DataImportHandler seems to still be a "patch", is there an estimation of if/when it will appear in trunk?

Thanks!

- Jon

On Mar 7, 2008, at 8:59 PM, Chris Hostetter wrote:


I believe Norberto ment he was handling it in his update client code --
before sending the docs to Solr.

Something that *seems* possible but I've never actaully tried is writting
a "ConcatTokenFilterFactory" that queues up all the tokens and joins
them together (using some confiured string, defaulting to "") then you
could in theory do something like this...

<fieldType name="compositeKeyType" class="solr.TextField" omitNorms="true">
     <analyzer>
       <tokenizer class="solr.KeywordTokenizerFactory"/>
       <filter class="solr.ConcatTokenFilterFactory" delim="-"/>
     <analyzer>
   </fieldType>
   ...
   <field name="compositeKey" type="compositeKeyType" />
   <uniqueKey>compositeKey</uniqueKey>
   ...
   <copyField source="type"  dest="compositeKey"/>
   <copyField source="numId" dest="compositeKey"/>
   ...

that *might* work ... but things would be a little weird when viewing your results (compositeKey would have to be multivalued, and it would return as
an array)


-Hoss


Reply via email to