2017-09-20 3 views
0

J'ai des données dans deux formats CSV et TEXT.Pouvons-nous indexer dans Solr des données de base uniques à partir de deux formats différents, c.-à-d. De csv et de texte?

1) Le fichier CSV contient des métadonnées. à-dire ModifyScore, taille, etc. fileName

2) le texte réel sont dans des dossiers de texte ayant des fichiers tels que a.txt, b.txt etc.

S'il vous plaît est-il possible d'indexer ces données dans Solr dans un seul noyau par DIH ou d'une autre manière possible?

Répondre

0

Selon votre cas d'utilisation je voudrais procéder à une application d'indexation personnalisée. Apparemment, vous voulez construire votre document Solr en récupérant un champ du CSV et un autre champ (le contenu) du TXT. En utilisant Java par exemple, cela va être assez simple: Vous pouvez utiliser SolrJ, extraire les données du CSV et du TXT, construire chaque document Solr, puis l'indexer.

Je voudrais utiliser le DIH si je peux déplacer les données dans un DB (même 2 tables sont bien, car DIH supporte les jointures). De la boîte, vous pouvez être intéressé par l'utilisation du script [1] transformateur. L'utiliser en combinaison avec vos différentes sources de données pourrait fonctionner. Vous devez jouer un peu avec ce jeu car ce n'est pas une solution directe à votre problème.

[1] https://cwiki.apache.org/confluence/display/solr/Uploading+Structured+Data+Store+Data+with+the+Data+Import+Handler#UploadingStructuredDataStoreDatawiththeDataImportHandler-TheScriptTransformer

0

pour ne citer que quelques autres possibilités:

  1. Utilisez DIH à l'index txt fichiers dans collectionA et utiliser/gestionnaire de mise à jour ingèrent csv directement dans Collectionb, puis utilisez Streaming Expressions pour fusionner les deux dans une troisième collection qui est celle que vous souhaitez conserver. Le principal avantage est que tout est dans Solr, pas de code externe. Utilisez DIH pour indexer les fichiers (ou/update pour indexer csv) et écrire un Update Request Processor qui interceptera les documents avant qu'ils ne soient indexés, qui recherchera les informations de l'autre source et les ajoutera au document.

+0

Merci beaucoup pour @Persimmonium aide de ressources. J'aime la première réponse, j'ai déjà indexer les fichiers texte dans le noyau A et le fichier csv dans le noyau B, les deux cœurs ont le même champ clé unique. S'il vous plaît est-il possible de fusionner ces noyaux en utilisant des expressions de streaming. –

+0

Je pense que toutes les pièces sont là, il vous suffit de construire vos expressions (ce qui peut être assez complexe) – Persimmonium

+0

Puis-je utiliser Streaming Expressions pour les noyaux solr? @ Persimmonium –