Qu'est-ce qu'Apache Solr
Apache Solr est l'une des bases de données NoSQL les plus populaires qui peuvent être utilisées pour stocker les données et les interroger en temps proche en temps réel. Il est basé sur Apache Lucene et est écrit en java. Tout comme Elasticsearch, il prend en charge les requêtes de base de données via des API REST. Cela signifie que nous pouvons utiliser des appels HTTP simples et utiliser des méthodes HTTP comme Get, Post, Put, Supprimer, etc. Pour accéder aux données. Il offre également une option pour obtenir des données sous forme de XML ou JSON via les API REST.
Architecture: Apache Solr
Avant de pouvoir commencer à travailler avec Apache Solr, nous devons comprendre les composants qui constituent Apache Solr. Jetons un coup d'œil à certains composants qu'il a:
Architecture Apache Solr
Notez que seuls les principaux composants pour SOLR sont illustrés dans la figure ci-dessus. Comprenons également leur fonctionnalité ici:
Début avec Apache Solr
Pour commencer à utiliser Apache Solr, il doit être installé sur la machine. Pour ce faire, lisez installer Apache Solr sur Ubuntu.
Assurez-vous d'avoir une installation SOLR active si vous souhaitez essayer des exemples que nous présentons plus tard dans la page de leçon et d'administration est accessible sur localhost:
Page d'accueil d'Apache Solr
Insérer des données
Pour commencer, considérons une collection dans Solr que nous appelons Linux_Hint_Collection. Il n'est pas nécessaire de définir explicitement cette collection comme lorsque nous insérons le premier objet, la collection sera faite automatiquement. Essayons notre premier appel API REST pour insérer un nouvel objet dans la collection nommée Linux_Hint_Collection.
Insérer des données
curl -x post -h 'contenu-type: application / json'
'http: // localhost: 8983 / solr / linux_hint_collection / update / json / docs' --data-binary '
"id": "iduye",
"Nom": "Shubham"
'
Voici ce que nous récupérons avec cette commande:
Commande pour insérer des données dans SOLR
Les données peuvent également être insérées à l'aide de la page d'accueil SOLR que nous avons examinée plus tôt. Essayons ceci ici afin que les choses soient claires:
Insérer des données via la page d'accueil de SOLR
Comme Solr a un excellent moyen d'interaction avec les API RESTful HTTP, nous démontrerons l'interaction DB en utilisant les mêmes API à partir de maintenant et ne nous concentrerons pas beaucoup sur l'insertion des données via la page Web Solr.
Énumérez toutes les collections
Nous pouvons également répertorier toutes les collections d'Apache Solr en utilisant une API REST. Voici la commande que nous pouvons utiliser:
Énumérez toutes les collections
curl http: // localhost: 8983 / solr / admin / collections?actions = list & wt = json
Voyons la sortie de cette commande:
Nous voyons deux collections ici qui existent dans notre installation Solr.
Obtenez un objet par ID
Maintenant, voyons comment nous pouvons obtenir des données de la collection Solr avec un ID spécifique. Voici la commande REST API:
Obtenez un objet par ID
curl http: // localhost: 8983 / solr / linux_hint_collection / get?id = iduye
Voici ce que nous récupérons avec cette commande:
Obtenez toutes les données
Dans notre dernière API REST, nous avons interrogé des données en utilisant un ID spécifique. Cette fois, nous obtiendrons toutes les données présentes dans notre collection Solr.
Obtenez un objet par ID
curl http: // localhost: 8983 / solr / linux_hint_collection / select?Q = *: *
Voici ce que nous récupérons avec cette commande:
Notez que nous avons utilisé '*: *' dans le paramètre de requête. Cela spécifie que SOLR doit renvoyer toutes les données présentes dans la collection. Même si nous avons spécifié que toutes les données devaient être renvoyées, Solr comprend que la collection pourrait contenir une grande quantité de données et ainsi, il ne retournera que les 10 premiers documents.
Suppression de toutes les données
Jusqu'à présent, toutes les API que nous avons essayées utilisaient un format JSON. Cette fois, nous allons essayer le format de requête XML. L'utilisation du format XML est extrêmement similaire à JSON car XML est également auto-descriptive.
Essayons une commande pour supprimer toutes les données que nous avons dans notre collection.
Suppression de toutes les données
Curl "http: // localhost: 8983 / solr / linux_hint_collection / mise à jour?commet = true "-H" Content-Type: text / xml "--data-binary" *: * "
Voici ce que nous récupérons avec cette commande:
Supprimer toutes les données à l'aide de la requête XML
Maintenant, si nous essayons à nouveau d'obtenir toutes les données, nous verrons qu'aucune donnée n'est disponible maintenant:
Obtenez toutes les données
Nombre total d'objets
Pour une commande finale Curl, voyons une commande avec laquelle nous pouvons trouver le nombre d'objets qui sont présents dans un index. Voici la commande pour la même chose:
Nombre total d'objets
curl http: // localhost: 8983 / solr / linux_hint_collection / requête?Debug = Query & Q = *: *
Voici ce que nous récupérons avec cette commande:
Compter le nombre d'objets
Conclusion
Dans cette leçon, nous avons examiné comment nous pouvons utiliser Apache Solr et passer des requêtes en utilisant Curl au format JSON et XML. Nous avons également vu que le panneau d'administration SOLR est utile de la même manière que toutes les commandes de curl que nous avons étudiées.