Je viens de commencer à jouer avec Solr et je l'ai déployé et en cours d'exécution sur Tomcat. J'ai le schéma et le gestionnaire d'importation de données mis en place et il indexe les fichiers très bien. Maintenant, je veux programmer ce dataImportHandler pour qu'il s'exécute toutes les heures. Il existe une page wiki détaillant les fichiers here.DIH Scheduling dans Solr
Mais il n'y a pas des instructions sur l'endroit où créer les fichiers et comment les déployer
Une question similaire a été posée sur le débordement de pile avant here.
La réponse était "Créer des classes ApplicationListener, HTTPPostScheduler et SolrDataImportProperties". Je ne sais pas où je devrais créer les classes. Mais j'ai pris une estimation et j'ai téléchargé la dernière version nocturne et créé les classes dans le paquet org.apache.solr.handler.dataimport.scheduler (copier les classes de la page wiki). J'ai compilé et exécuté la commande ant dist pour créer les fichiers jar déployables.
J'ai configuré dataimport.properties selon les instructions du wiki, puis j'ai ajouté l'écouteur dans le fichier web.xml comme indiqué dans la réponse ci-dessus. Mais quand j'ai commencé Tomcat solr n'a pas été déployé.
Je vois ce message d'erreur dans le fichier journal:
INFO: Starting Servlet Engine: Apache Tomcat/7.0.14
Jun 21, 2011 5:20:47 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor solr.xml from /home/sabman/programs/apache-tomcat-7.0.14/conf/Catalina/localhost
Jun 21, 2011 5:20:47 PM org.apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase /home/sabman/programs/apache-tomcat-7.0.14/webapps/solr.war inside the host appBase has been specified, and will be ignored
Jun 21, 2011 5:20:47 PM org.apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property 'debug' to '0' did not find a matching property.
Jun 21, 2011 5:20:48 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
je devais supprimer le code d'écouteur de l'web.xml pour fonctionner comme avant.
Une idée de ce que je pourrais faire de mal?
La solution la plus simple. Utilisez une entrée cron pour envoyer une requête à 'dataimporthandler' toutes les heures. – mhitza