J'essaye d'installer un DataImportHandler et en essayant de faire une importation complète j'obtiens cette erreur:
SEVERE: Échec de l'importation complète: java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: SolrEntityProcessor: le paramètre "url" est requis Document de traitement n ° 1
Je vois dans l'exemple data-config.xml fourni avec solr parfois Entity a le paramètre url et parfois il ne le fait pas. Si c'est nécessaire, pourquoi certains exemples ne l'ont-ils pas?
Quelle URL cherche-t-il?
En fait, la documentation ne montre pas "url" en tant que paramètre requis pour SqlEntityProcessor
Pour SqlEntityProcessor, les attributs d'entité sont les suivants:
query (requis): la chaîne SQL à l'aide de laquelle interroger la base de données
deltaQuery: utilisé uniquement dans l'importation delta
parentDeltaQuery: utilisé uniquement dans l'importation delta
deletePkQuery: utilisé uniquement dans l'importation delta
deltaImportQuery: (utilisé uniquement dans l'importation delta). S'il n'est pas présent, DIH tente de construire la requête d'importation en modifiant (après avoir identifié le delta) la "requête" (source d'erreur). Il existe un espace de noms $ {dataimporter.delta.} Qui peut être utilisé dans cette requête. par exemple: sélectionnez * depuis le tableau où id = $ {dataimporter.delta.id} Solr1.4.
Réponses:
1 pour la réponse № 1Cela dépend de la spécificité EntityProcessor
mise en œuvre que vous utilisez. Chaque EntityProcessor
a ses propres attributs d'entité. SQLEntityProcessor
doesn "t besoin d’un paramètre url car il s’appuie sur le dataSource
élément pour obtenir les informations nécessaires à la connexion à la base de données, tandis que par exemple le SolrEntityProcessor
n'a pas besoin du dataSource
élément mais repose sur le url
attribut pour obtenir l'URL de l'instance Solr à partir de laquelle importer les données. Ils sont différents DataSource
implémentations aussi bien, si vous regardez JdbcDataSource
vous verrez que cela nécessite le paramètre url lui-même.