Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set multiple fields as uniqueKey in solr?

I have these fields in my solr schema :

<fields>
    <field name="Id" type="string" indexed="true" stored="true" multiValued="false" required="true" />
    <field name="IdCategory" type="string" indexed="true" stored="true" multiValued="false" required="true" />
    <field name="Rank" type="long" indexed="true" stored="true" multiValued="false" required="true" />
    <field name="TypeRank" type="string" indexed="true" stored="true" multiValued="false" required="false" default="category" />

    <field name="_version_" type="long" indexed="true" stored="true"/>
</fields>

Can i use 2 or 3 fields as uniqueKeys instead of One? When I try :

<uniqueKey>(Id,IdCategory,Rank,TypeRank)</uniqueKey>

I get the following error :

org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Schema Parsing Failed: unknown field '(Id,IdCategory,Rank,TypeRank)'. Schema file is /var/solr/Rank/schema.xml

like image 994
Abdelali AHBIB Avatar asked Jun 27 '14 14:06

Abdelali AHBIB


1 Answers

You cannot use 2 or 3 (or 4) fields in a unique key in the way you are trying to do it. It should point to a single string field. You should be able to generate a concatenated field of the values you want into a single unique string before indexing.

like image 104
MattMcKnight Avatar answered Oct 03 '22 10:10

MattMcKnight