/ / Pourquoi Entity a-t-il parfois besoin d'un paramètre «url» et parfois pas? - solr, dataimporthandler

Pourquoi Entity a-t-il parfois besoin d'un paramètre «url» et parfois pas? - solr, dataimporthandler

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 № 1

Cela 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.