2010-04-26 3 views
1

Je suis à la recherche d'un moteur de recherche qui peut régulièrement (tous les jours-ish) analyser environ 100 pages de modifications et indexer un site associé si des modifications depuis la dernière analyse se trouvent. Il devrait être capable de gérer environ 100 sites, chacun faisant en moyenne 4000 pages d'environ 5k de taille moyenne, chacun sur un serveur différent (mais seulement un moteur de recherche centralisé). Chacun de ces sites aura un formulaire de recherche qui sera soumis à ce moteur de recherche. Les résultats renvoyés doivent être spécifiques au site qui les a soumis. Je crée les modèles pour les sites externes, donc je peux donner au formulaire de recherche un champ caché qui spécifie de quel site le formulaire est soumis.recommandation du moteur de recherche pour 100 sites d'environ 4000 pages

Que recommanderiez-vous je regarde?

J'aimerais utiliser un système basé sur Python pour cela, si possible.

J'utilise actuellement ce qu'on appelle iSearch2. Il ne semble pas très stable à cette échelle, la description du produit indique qu'il n'est pas vraiment destiné à faire plusieurs sites, est en PHP (ce qui est moins confortable pour moi que Python), et a quelques autres défauts pour mon spécifique situation.

+0

Cela ressemble à une requête pour une recommandation de logiciel qui appartient à Super User. –

Répondre

1

Si vous êtes à la recherche d'un moteur de recherche pure python vous pouvez regarder whoosh. Le problème avec whoosh est que c'est lent et pas aussi complet. Ce serait bien si votre site n'obtenait pas beaucoup de trafic, mais vous pourriez avoir besoin de quelque chose de plus robuste pour la production. Cela étant dit, j'aime utiliser Xapian avec son python bindings. C'est assez rapide et facile à mettre en place. Vous pouvez également utiliser solr qui a un python api. Solr est écrit en Java, mais ne vous laissez pas tromper car c'est le meilleur interprète de ce groupe. Vous devrez juste lancer un serveur Java pour que cela fonctionne.

Depuis que je l'utilise Django je peux intégrer haystack dans mes projets qui le rend facile à changer les moteurs de recherche. Je vais utiliser Whoosh pour le développement car il est facile et rapide à installer (il peut être installé dans virtualenv), mais déployé avec Xapian ou Solr pour la production en fonction de mes besoins.

1

Je recommande PyLucene. PyLucene est une extension Python pour accéder à Java Lucene et fonctionne très bien et rapidement.

0

+1 pour Lucene. Si PyLucene semble complexe, tour à tour, vous pouvez regarder Solr (qui est un serveur de recherche basé sur Lucene avec une interface HTTP. Hautement évolutive, ultra-rapide et offre une très grande featureset comme la navigation à facettes, la mise en cache, etc. OOTB

Depuis Solr est HTTP basé que vous pouvez utiliser n'importe quelle langue (y compris Python) en utilisant son API RESTful