2017-10-16 5 views
1

J'espère utiliser Solr pour exécuter des recherches à partir d'informations analysées à partir de fichiers XML. Ces fichiers XML ne sont pas dans le format de document de Solr, en tant que tel je dois les analyser et obtenir les champs dont j'ai besoin de cette façon. Je connais la programmation Java et je me demandais si SolrJ serait une méthode plus simple que l'utilisation de Data Import Handler. Je considère parcourir chaque fichier XML que j'ai et analyser les champs dont j'ai besoin de chacun. Y a-t-il un inconvénient à une méthode par rapport à l'autre? J'imagine depuis que je connais Java, il peut être plus facile d'analyser le XML de cette façon?Apache Solr, SolrJ vs Gestionnaire d'importation de données pour l'analyse XML

Je vais probablement avoir besoin de plusieurs conditions et expressions régulières. Si quelque chose, un moyen fiable d'obtenir mes champs de XML relativement non structuré.

Comment SolrJ fonctionnerait-il avec l'interface? C'est-à-dire, si je indexe en utilisant SolrJ, puis-je faire mes requêtes à travers l'interface encore?

Répondre

1

La façon dont vous indexez votre contenu dans Solr est orthogonale à la manière dont vous l'interrogez. Vous pouvez indexer comme vous le souhaitez, tant qu'il produit les bons documents dans l'index. Maintenant, en ce qui concerne l'indexation, si DIH obtiendra ce dont vous avez besoin sans beaucoup de peaufinage allez-y. Mais si vous avez besoin de beaucoup de peaufinage des données, vous finirez peut-être plus vite si vous écrivez simplement java avec Solr. Avec Solr vous avez toute la flexibilité, avec DIH vous êtes plus contraint (pensez à la règle des 80/20).

+0

Et DIH est probablement plus rapide que d'ajouter tous les documents avec SorlJ –

3

DIH a été conçu pour le prototypage, bien que certaines personnes l'utilisent pour la production. Vous pouvez partir de là, mais soyez prêt à sauter à SolrJ ou à d'autres méthodes si vous atteignez ses limites. Et si vous avez des mappages très complexes, vous pouvez commencer avec SolrJ. Vous pouvez également apply XSLT transform on an incoming XML document pour le mapper au format Solr.

Et comme indiqué précédemment, la recherche est un problème distinct de l'indexation.