2010-05-07 5 views
3

Je téléchargerai bientôt mon site sur un VPS. C'est un site Web de petites annonces qui utilise Solr intégré avec MySql.Auto-autocommit et auto-optimisation?

Solr est mis à jour chaque fois qu'une nouvelle classification est mise ou supprimée.

J'ai besoin d'un moyen de rendre le commit() et optimize() être automatisé, par exemple une fois toutes les 3 heures ou plus.

Comment est-ce que je peux faire ceci? (Détails s'il vous plaît) Quand est-il idéal pour optimiser?

Merci

Répondre

9

Vous pouvez configurer une tâche cron qui exécute périodiquement un appel à distance à l'interface REST Solr, par exemple:

curl 'http://<SOLR_INSTANCE_URL>/update?optimize=true' 

Trouver plus d'informations sur la mise à jour l'index Solr here.

Citant le Solr tutorial:

livraison peut être une opération coûteuse il est donc préférable de faire de nombreux changements à un index dans un lot, puis envoyer la commande commettras à la fin. Il est également une commande optimize qui fait la même chose que commettre, en plus de fusionner tous les segments d'index dans un seul segment , le rendant plus rapide à recherche et causer de supprimer documents à supprimer.

MISE À JOUR: En outre, la fonction de validation automatique peut être activé solrconfig.xml (dans la section UpdateHandler):

<autoCommit> 
     <maxDocs>10000</maxDocs> <!-- maximum uncommited docs before autocommit triggered --> 
     <maxTime>86000</maxTime> <!-- maximum time (in MS) after adding a doc before an autocommit is triggered --> 
</autoCommit> 
+0

Merci pour la réponse. Voici un suivi Q, optimise-t-il aussi la validation? Donc, en faisant seulement optimiser, il s'engage également? Merci –

+2

Oui, optimiser effectue la validation plus la fusion de tous les segments d'index en un seul segment (un nouveau segment est créé lorsqu'un nouvel éditeur est ouvert et lorsqu'un auteur valide ou est fermé). – nuqqsa