comment les données de l'indice dans solr à partir de la base de données automatiquement
J'ai de base de données MySql pour mon application. j'ai mis en place solr recherche et utilisé dataimporthandler(DIH)pour indexer les données de la base de données dans solr. ma question est: est-il possible que si la base de données est mise à jour alors mon index solr est automatiquement mise à jour pour ajouter de nouvelles données dans la base de données. . Cela signifie que j'ai besoin de ne pas exécuter l'indice de processus manuellement chaque fois que des données de la base de tables de changements.Si oui, alors s'il vous plaît dites-moi comment puis-je y parvenir.
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas qu'il y est une possibilité, dans Solr qui permet d'indexer les données lorsque toutes les mises à jour qui se passe pour la base de données.
Mais il pourrait y avoir des possibilités comme, avec l'aide de Les déclencheurs - il est possible d'exécuter une application externe à partir de déclencheurs.
Écrire un CRON pour déclencher
PHP
script qui fait la lecture à partir de la base de données et l'indexation dansSolr
. Écrire un déclencheur (qui appelle ce script) pourCRUD
fonctionnement et la déverser dans DB, donc, à chaque fois que quelque chose arrive à DB, ce déclencheur va appeler le script ci-dessus et d'indexation qui pourrait arriver.Voir:
L'invocation d'un script PHP à partir d'une base de données MySQL de déclenchement
De La Planification Automatique:
Veuillez voir ce post Comment puis-je Programmer des importations de données dans Solr pour plus d'informations sur la planification. La deuxième réponse, explique comment importer à partir de Cron.
Depuis que vous avez utilisé un DataImportHandler d'abord charger vos données dans Solr... Vous pouvez créer un Delta Gestionnaire D'Importation qui est exécutée à l'aide curl à partir d'une tâche cron pour ajouter périodiquement des modifications dans la base de données de l'index. Aussi, si vous avez besoin de plus de temps réel les mises à jour, comme @Rakesh suggéré, vous pouvez utiliser un déclencheur dans votre base de données et le coup d'envoi de la boucle de l'appeler pour le Delta du DIH.
vous pouvez importer les données à l'aide de votre navigateur et gestionnaire de tâches.
effectuez les étapes suivantes sur windows server...
ACCÉDEZ aux outils d'Administration => la tâche Schedular
Cliquez Sur "Créer Une Tâche"
Maintenant un écran de Créer une Tâche sera ouvert avec l'ONGLET
Général,Des Déclencheurs,Des Actions,Des Conditions,Des Paramètres.
Dans l'onglet général entrez le nom de la tâche "Solrdataimport" et dans discriptions entrer "Importation de données mysql"
Maintenant, allez à l'onglet Déclencheurs Cliquez sur nouveau dans la mise en vérifier tous les jours.Dans les paramètres Avancés Répéter la tâche à tous les ... Mettre du temps il y a tout ce que vous voulez.cliquez sur OK
Maintenant, allez à des Actions de bouton cliquez sur le Bouton nouveau DANS l'établissement de mettre du Programme/Script "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" c'est le chemin d'installation du navigateur google chrome.Dans la zone Ajouter des Arguments entrer http://localhost:8983/solr/#/collection1/dataimport//dataimport?command=full-import& nettoyage=true Et cliquez sur OK
À l'aide de la ci-dessus tous les processus d'importation des Données se fera automatiquement.En cas d'Arrêt de la Imort processus de suivre tous les processus ci-dessus, il suffit de changer le Programme/Script "taskkill" au lieu de "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" en vertu de l'Onglet Actions Dans les arguments entrée "f /im chrome.exe"
Définir les déclencheurs de rythme selon les exigences
Ce que vous cherchez est un "delta-import", et beaucoup d'autres postes ont des informations à ce sujet couvert. J'ai créé un Windows WPF application et de service afin d'émettre des commandes à Solr sur une planification périodique, que l'utilisation de CRON jobs et le Planificateur de Tâches est un peu difficile à maintenir si vous avez beaucoup de cœurs /environnements.
https://github.com/systemidx/SolrScheduler
Vous suffit de les déposer dans un fichier JSON dans un dossier spécifié et il va utiliser un RESTE de client d'émettre les commandes de Solr.