GNU/Linux >> Tutoriels Linux >  >> Linux

Comment importer des données dans Apache Solr

Récemment, je vous ai guidé tout au long du processus de déploiement de la plate-forme de recherche de niveau entreprise, Apache Solr. Avec cet outil, vous pouvez prendre d'énormes quantités de données et exécuter de puissantes requêtes de recherche avec la mise en surbrillance des résultats, l'indexation en temps réel, le clustering dynamique et bien plus encore.

Une fois Apache Solr déployé, vous devrez pouvoir ajouter vos données à une collection afin de pouvoir les rechercher. Ici, nous allons importer une liste CSV de données (qui peuvent être de n'importe quelle taille) dans une nouvelle collection, puis exécuter une requête sur les nouvelles données.

Ce dont vous aurez besoin

Pour suivre cela, vous aurez besoin d'une instance en cours d'exécution d'Apache Solr (avec les informations d'identification de l'utilisateur Solr) et d'un fichier de données CSV. Je vais créer un exemple de fichier de données CSV que vous pourrez utiliser comme modèle.

Comment créer un fichier CSV pour l'importation

La première chose que vous devrez faire est de vous connecter au serveur hébergeant Apache Solr, soit via SSH, soit via une connexion locale. Une fois connecté, créez le nouveau fichier avec la commande :

nano ~/solrdata.csv

Vous pouvez nommer ce fichier comme bon vous semble et le loger dans n'importe quel répertoire. Créez une ligne supérieure qui inclut les noms de chaque colonne :je vais faire la démonstration avec un fichier CSV définissant les pays. La première ligne définira plusieurs éléments (tels que le code pays, la région et la sous-région) et ressemblera à ceci :

Open source :couverture à lire absolument

name,alpha-2,alpha-3,country-code,iso_3166-2,region,sub-region,intermediate-region,region-code,sub-region-code,intermediate-region-code

Le reste du fichier contient des entrées comme celle-ci :

Afghanistan,AF,AFG,004,ISO 3166-2:AF,Asia,Southern Asia,"",142,034,""

Åland Islands,AX,ALA,248,ISO 3166-2:AX,Europe,Northern Europe,"",150,154,""

Albania,AL,ALB,008,ISO 3166-2:AL,Europe,Southern Europe,"",150,039,""

Algeria,DZ,DZA,012,ISO 3166-2:DZ,Africa,Northern Africa,"",002,015,""

American Samoa,AS,ASM,016,ISO 3166-2:AS,Oceania,Polynesia,"",009,061,""

Andorra,AD,AND,020,ISO 3166-2:AD,Europe,Southern Europe,"",150,039,""

Angola,AO,AGO,024,ISO 3166-2:AO,Africa,Sub-Saharan Africa,Middle Africa,002,202,017

Vous pouvez télécharger l'intégralité de l'exemple de fichier country.csv avec la commande :

wget https://cdn.wsform.com/wp-content/uploads/2018/09/country.csv

Enregistrez ce fichier sur le lecteur local de la machine d'hébergement Apache Solr.

Comment créer une nouvelle collection

Créons maintenant une nouvelle collection pour héberger nos données pays. Nous appellerons cette collection "country_data" et la créerons avec la commande :

su - solr -c "/opt/solr/bin/solr create -c country_data -n data_driven_schema_configs"

Vous serez invité à entrer le mot de passe de l'utilisateur Solr. Une fois l'authentification réussie, la collection sera créée et vous serez prêt à passer à autre chose.

Comment importer les données

Passez dans le répertoire hébergeant Solr avec la commande :

cd /opt/solr

On peut alors importer les données avec la commande :

./bin/post -c country_data /path/to/country.csv

/path/to est le chemin exact vers le répertoire contenant le fichier country.csv nouvellement téléchargé.

Vous devriez voir une sortie semblable à celle-ci :

Posting files to [base] url http://localhost:8983/solr/country_data/update...

Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log

POSTing file country.csv (text/csv) to [base]

1 files indexed.

COMMITting Solr index changes to http://localhost:8983/solr/country_data/update...

Time spent: 0:00:02.674

Comment afficher les nouvelles données

Connectez-vous à l'interface Web d'Apache Solr en pointant un navigateur vers http://SERVER:8983 (où SERVER est l'adresse IP du serveur d'hébergement). Sélectionnez country_data dans la liste déroulante newdata dans la navigation de gauche. Dans la fenêtre résultante (Figure A ), cliquez sur Requête.

Figure A

Dans la fenêtre résultante, cliquez sur Exécuter la requête sans rien changer et l'ensemble du document importé sera répertorié (Figure B ).

Figure B

Supposons que vous souhaitiez rechercher l'Irlande. Tapez "Irlande" dans la section q (sous commun) et cliquez sur Exécuter la requête. Le résultat ne listera que l'entrée pour, vous l'avez deviné, l'Irlande (Figure C ).

Figure C

Un moyen encore plus simple d'importer des données CSV

Il existe même un moyen plus simple d'importer des données CSV dans Apache Solr.

Supposons que vous ayez créé une nouvelle collection, appelée datacollection, et que vous souhaitiez importer le fichier country.csv à partir de l'interface Web. Connectez-vous à Apache Solr, sélectionnez datacollection dans la liste déroulante, puis cliquez sur Documents dans la navigation de gauche. Dans la fenêtre résultante, sélectionnez CSV dans la liste déroulante Type de document, puis copiez/collez tout le contenu du fichier country.csv dans la section Documents (Figure D ).

Schéma D

Cliquez sur Soumettre le document et vous devriez éventuellement voir (dans le volet de droite) le résultat suivant :

Status: success

Response:

{

"responseHeader": {

"status": 0,

"QTime": 3533

}

}

Vous devriez maintenant pouvoir interroger vos données importées de la même manière que vous l'avez fait précédemment.

Et c'est tout ce qu'il y a à faire pour importer des données au format CSV dans Apache Solr. Il s'agit d'un outil très puissant qui simplifie la recherche d'énormes collections de données. Si votre entreprise dépend des données, cela pourrait être l'un des nombreux outils dont vous avez besoin.


Linux
  1. Comment installer Apache Solr sur AlmaLinux 8

  2. Comment installer Apache Solr sur Debian 10

  3. Comment installer Apache Solr sur Ubuntu 14.04

  4. Comment écrire un fichier dans un autre ?

  5. Comment insérer des données CSV dans une table Sqlite via un Shell Pipe ?

Comment installer Apache Solr sur Debian 11

Comment écrire des données dans un fichier sous Linux

Comment installer Apache Solr 8.9 sur Ubuntu 20.04

Comment installer Apache Solr 8.9 sur Ubuntu 18.04

Comment installer Apache Solr sur Oracle Linux 8

Comment faire écho dans le fichier