It's just what the error says. You must have a field labeled "id" in the doc
sent to Solr. You can use a different field if you change your schema.xml
<uniqueKey> entry to some other name that is the analog to the primary
key in a DB. Or you can change your config to select an "id" field (case
matters) for each record sent to Solr.

Best,
Erick

On Wed, Oct 28, 2015 at 2:59 PM, fabigol <fabien.stou...@vialtis.com> wrote:
> Hi,
> i have a big problem. Solr doesn't index and i have following error:
> org.apache.solr.common.SolrException: Document is missing mandatory
> uniqueKey field: ID
>
> here my files:
>
> <dataConfig>
>
>         <dataSource name="myvialtis" driver="org.postgresql.Driver"
>                 url="jdbc:postgresql://localhost:5432/myvialtis" 
> user="postgres"
>                 password="postgres" readOnly="true" autoCommit="false" 
> batchSize="100000"
>                 transactionIsolation="TRANSACTION_READ_COMMITTED"
> holdability="CLOSE_CURSORS_AT_COMMIT" />
>
>
>         <document>
>
>
>
>
>
>
>                 <entity rootEntity="true" name="tiers" dataSource="myvialtis"
>                         query="select * from bi_solr_tiers" 
> transformer="RegexTransformer">
>
>                         <field name="ID" column="tiers_id" />
>                         <field name="DOC_TYPE" column="tiers_doc_type" />
>                         <field name="ID_CLIENT" column="tiers_id_client" />
>                         <field name="NOM_CLIENT" column="tiers_nom_client" />
>                         <field name="ID_PARENT" column="tiers_id_parent" 
> splitBy="," />
>                         <field name="ID_PAYS_CLIENT" 
> column="tiers_id_pays_client" />
>                         <field name="ID_SEGMENT" column="tiers_id_segment" />
>                         <field name="ID_SALE" column="tiers_id_sale" />
>                         <field name="NOM_SALE" column="tiers_nom_sale" />
>
>
>                         <field name="U_ID_CLIENT" column="tiers_id_client" />
>                         <field name="U_NOM_CLIENT" column="tiers_nom_client" 
> />
>                         <field name="U_ID_PARENT" column="tiers_id_parent" 
> splitBy="," />
>                         <field name="U_ID_PAYS_CLIENT" 
> column="tiers_id_pays_client" />
>                         <field name="U_ID_SEGMENT" column="tiers_id_segment" 
> />
>                         <field name="U_ID_SALE" column="tiers_id_sale" />
>                         <field name="U_NOM_SALE" column="tiers_nom_sale" />
>
>                         <entity name="tiers_contrat" dataSource="myvialtis"
> cacheKey="contrat_id_client"
>                                 cacheLookup="tiers.tiers_id_client" 
> processor="CachedSqlEntityProcessor"
>                                 query="select * from bi_solr_contrat">
>
>                                 <field name="ID_PARTENAIRE" 
> column="contrat_id_partenaire" />
>                                 <field name="NOM_PARTENAIRE" 
> column="contrat_nom_partenaire" />
>                                 <field name="TYPE_PARTENAIRE" 
> column="contrat_type_partenaire" />
>                                 <field name="ID_TYPE_SERVICE" 
> column="contrat_id_type_service" />
>                                 <field name="ID_FILIALE" 
> column="contrat_id_filiale" />
>                                 <field name="NOM_FILIALE" 
> column="contrat_nom_filiale" />
>                                 <field name="COMPTE_WEB_POSSIBLE" 
> column="contrat_compte_web_possible"
> />
>                                 <field name="ID_CONTRAT" 
> column="contrat_id_contrat" />
>                                 <field name="ID_STATUT_CONTRAT" 
> column="contrat_id_statut_contrat" />
>                                 <field name="NOM_PRODUIT" 
> column="contrat_nom_produit" />
>                                 <field name="ID_BENEFICIAIRE_CONSO"
> column="contrat_id_beneficiaire_conso" />
>                                 <field name="ID_BENEFICIAIRE_HONO" 
> column="contrat_id_beneficiaire_hono"
> />
>                                 <field name="ID_PAYEUR_CONSO" 
> column="contrat_id_payeur_conso" />
>                                 <field name="ID_PAYEUR_HONO" 
> column="contrat_id_payeur_hono" />
>                                 <field name="REF_CONTRAT_TVA" 
> column="contrat_ref_contrat_tva" />
>                                 <field name="PAYS_DEPOT_TVA" 
> column="contrat_pays_depot_tva" />
>
>                         </entity>
>
>
>                         <entity name="tiers_carte" dataSource="myvialtis"
>                                 query="select
>                                 carte_id_client,
>                                 carte_id_carte,
>                                 carte_num_carte,
>                                 carte_carte_active,
>                                 carte_immatriculation,
>                                 carte_nom_flotte
>                                 from bi_solr_carte"
>                                 cacheKey="carte_id_client" 
> cacheLookup="tiers.tiers_id_client"
>                                 processor="CachedSqlEntityProcessor">
>
>                                 <field name="ID_CARTE" 
> column="carte_id_carte" />
>                                 <field name="NUM_CARTE" 
> column="carte_num_carte" />
>                                 <field name="CARTE_ACTIVE" 
> column="carte_carte_active" />
>                                 <field name="IMMATRICULATION" 
> column="carte_immatriculation" />
>                                 <field name="NOM_FLOTTE" 
> column="carte_nom_flotte" />
>                         </entity>
>
>                         <entity name="tiers_invoice" dataSource="myvialtis"
> cacheKey="contrat_id_client"
>                                 cacheLookup="tiers.tiers_id_client" 
> processor="CachedSqlEntityProcessor"
>                                 query="select
>                                                 distinct bi_solr_invoice.*,
>                                                 
> bi_solr_contrat.contrat_id_client
>                                                 from bi_solr_invoice
>                                                 inner join 
> bi_solr_invoice_cnt on
> bi_solr_invoice.invoice_numero_facture=bi_solr_invoice_cnt.numero_facture
>                                                 inner join bi_solr_contrat on
> bi_solr_contrat.contrat_id_contrat=bi_solr_invoice_cnt.id_contrat
>                                                 where 
> bi_solr_invoice.invoice_date_emission + interval '6 months' &gt;
> date_trunc('day',current_date)">
>
>                                 <field name="NUMERO_FACTURE" 
> column="invoice_numero_facture" />
>                                 <field name="ID_BENEFICIAIRE" 
> column="invoice_id_beneficiaire" />
>                                 <field name="ID_PAYEUR" 
> column="invoice_id_payeur" />
>                                 <field name="DATE_EMISSION" 
> column="invoice_date_emission" />
>                                 <field name="DATE_EMISSION_DD_MM_YYYY"
> column="invoice_date_emission_dd_mm_yyyy" />
>                                 <field name="DATE_EMISSION_MM_YYYY"
> column="invoice_date_emission_mm_yyyy" />
>                                 <field name="DATE_EMISSION_YYYY" 
> column="invoice_date_emission_yyyy" />
>                                 <field name="DEVISE" column="invoice_devise" 
> />
>                                 <field name="INVOICE_TOTAL_HT" 
> column="invoice_total_ht" />
>                                 <field name="INVOICE_TOTAL_TVA" 
> column="invoice_total_tva" />
>                                 <field name="INVOICE_TOTAL_TTC" 
> column="invoice_total_ttc" />
>                         </entity>
>
>                         <entity name="tiers_conso" dataSource="myvialtis"
> cacheKey="conso_id_client"
>                                 cacheLookup="tiers.tiers_id_client" 
> processor="CachedSqlEntityProcessor"
>                                 query="select
>                                                 conso_id_client,
>                                                 conso_numero_carte,
>                                                 conso_immatriculation,
>                                                 conso_nom_flotte,
>                                                 conso_id_conso,
>                                                 conso_gare_entree,
>                                                 conso_gare_sortie,
>                                                 conso_autoroute_entree,
>                                                 conso_autoroute_sortie,
>                                                 conso_sca_entree,
>                                                 conso_sca_sortie,
>                                                 conso_statut
>                                                 from bi_solr_transaction 
> where conso_id_client is not null
>                                                 and (conso_type_transaction 
> is null or conso_type_transaction !=
> '1')">
>
>
>                                 <field name="NUM_CARTE" 
> column="conso_numero_carte" />
>                                 <field name="IMMATRICULATION" 
> column="conso_immatriculation" />
>                                 <field name="NOM_FLOTTE" 
> column="conso_nom_flotte" />
>                                 <field name="ID_CONSO" 
> column="conso_id_conso" />
>                                 <field name="NOM_GARE_ORIGINE" 
> column="conso_gare_entree" />
>                                 <field name="NOM_GARE_CIBLE" 
> column="conso_gare_sortie" />
>                                 <field name="NOM_AUTO_ORIGINE" 
> column="conso_autoroute_entre" />
>                                 <field name="NOM_AUTO_CIBLE" 
> column="conso_autoroute_sortie" />
>                                 <field name="NOM_SCA_ORIGINE" 
> column="conso_sca_entree" />
>                                 <field name="NOM_SCA_CIBLE" 
> column="conso_sca_sortie" />
>                                 <field name="STATUT_CONSO" 
> column="conso_statut" />
>
>                         </entity>
>
>                         <entity name="tiers_conso_remise" 
> dataSource="myvialtis"
>                                 cacheKey="conso_id_client" 
> cacheLookup="tiers.tiers_id_client"
>                                 processor="CachedSqlEntityProcessor"
>                                 query="select
>                                                 conso_id_client,
>                                                 conso_numero_carte,
>                                                 conso_immatriculation,
>                                                 conso_nom_flotte,
>                                                 conso_id_conso,
>                                                 conso_gare_entree,
>                                                 conso_gare_sortie,
>                                                 conso_autoroute_entree,
>                                                 conso_autoroute_sortie,
>                                                 conso_sca_entree,
>                                                 conso_sca_sortie,
>                                                 conso_statut
>                                                 from bi_solr_transaction 
> where conso_id_client is not null
>                                                 and conso_type_transaction != 
> '3'">
>
>
>                                 <field name="NUM_CARTE" 
> column="conso_numero_carte" />
>                                 <field name="IMMATRICULATION" 
> column="conso_immatriculation" />
>                                 <field name="NOM_FLOTTE" 
> column="conso_nom_flotte" />
>                                 <field name="ID_CONSO" 
> column="conso_id_conso" />
>                                 <field name="NOM_GARE_ORIGINE" 
> column="conso_gare_entree" />
>                                 <field name="NOM_GARE_CIBLE" 
> column="conso_gare_sortie" />
>                                 <field name="NOM_AUTO_ORIGINE" 
> column="conso_autoroute_entre" />
>                                 <field name="NOM_AUTO_CIBLE" 
> column="conso_autoroute_sortie" />
>                                 <field name="NOM_SCA_ORIGINE" 
> column="conso_sca_entree" />
>                                 <field name="NOM_SCA_CIBLE" 
> column="conso_sca_sortie" />
>                                 <field name="STATUT_CONSO" 
> column="conso_statut" />
>
>                         </entity>
>
>                         <entity name="tiers_remise" dataSource="myvialtis"
> cacheKey="remise_id_client"
>                                 cacheLookup="tiers.tiers_id_client" 
> processor="CachedSqlEntityProcessor"
>                                 query="select
>                                                 remise_id_client,
>                                                 remise_numero_carte,
>                                                 remise_immatriculation,
>                                                 remise_nom_flotte,
>                                                 remise_id_remise,
>                                                 remise_sca_entree
>                                                 from bi_solr_remise where 
> remise_id_client is not null">
>
>
>                                 <field name="NUM_CARTE" 
> column="remise_numero_carte" />
>                                 <field name="IMMATRICULATION" 
> column="remise_immatriculation" />
>                                 <field name="NOM_FLOTTE" 
> column="remise_nom_flotte" />
>                                 <field name="ID_REMISE" 
> column="remise_id_remise" />
>                                 <field name="NOM_SCA_ORIGINE" 
> column="remise_sca_entree" />
>
>                         </entity>
>
>                 </entity>
>
>
>         </document>
>
> </dataConfig>
>
>
> please help me
>
>
>
> --
> View this message in context: 
> http://lucene.472066.n3.nabble.com/org-apache-solr-common-SolrException-Document-is-missing-mandatory-uniqueKey-field-id-tp4237067.html
> Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to