lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erick Erickson <erickerick...@gmail.com>
Subject Re: org.apache.solr.common.SolrException: Document is missing mandatory uniqueKey field: id
Date Thu, 29 Oct 2015 01:59:13 GMT
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.stouder@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.

Mime
View raw message