L'histoire jusqu'ici:
Décidé d'aller avec Xapian de recherche backend, car il a tous les moteurs de recherche fonctionnalités que je recherchais, le sait Unicode, radical, a peu de dépendances et ne nécessite pas de ballonnement app-installation du serveur sur le dessus de cela.
Essayé de Django et la botte de Foin (plus xapian-botte de foin, le backend colle le code de la cravate botte de Foin à Xapian) parce qu'il a été publié sur certains blogs comme "travail". N'a pas fonctionné. Ni django botte de foin, ni le xapian-botte de foin projet de fournir une version de la combinaison qui fonctionne réellement ensemble. MAÎTRE des deux projets génère une erreur de Xapian, il n'est donc pas stable du tout. Botte de foin 1.0.1 et xapian-botte de foin 1.0.x/1.1.0 ne sont pas API-compatible. De Plus, dans une mini-installation de la botte de Foin 1.0.1 et xapian-botte de foin MAÎTRE, toute requête complexe rendements des résultats nuls en raison d'erreurs dans django botte de foin ou de xapian-botte de foin (je double-cela vérifié), peut-être parce que l'unité des essais de tester réellement les cas très simples, et sans bord-cas à tous.
Essayé Djapian. Le code source est criblé de fautes d'orthographe (vous l'esprit, dans les noms de variables, pas de commentaires), la documentation est également truffé d'ambiguïtés et des informations obsolètes qui ne mènera jamais à une installation de travail. Il n'est pas surprenant, les utilisateurs demandent rarement de fonctionnalités, mais comment le faire fonctionner dans la première place.
Le prochain sur la plaque: l'exploration de la Solr (installation d'un environnement Java plus Tomcat me donne des maux de tête, la machine est en RAM et CPU-contraint), ou Lucene (un peu moins de maux de tête, mais quand même).
Avant d'aller passer plus de temps avec une solution qui pourrait ou ne pourrait pas fonctionner comme annoncé, j'aimerais savoir: personne N'a jamais obtenir une véritable et réelle solution de recherche de travail dans Django? Je suis sérieuse. Je trouve ça vraiment frustrant de lecture sur "les grands problèmes de la plupart résolu", et réaliser que vous ne serez jamais obtenir une installation de travail à partir du code source, car, en fait, tous les blogueurs face à ceux qui sont "pour la plupart résolus les problèmes" ne suis jamais passé de base de l'installation et de copier-coller les tutoriels officiels.
Donc, voici les conditions:
- doit être en mesure de rechercher pour 10-100 termes dans une requête
- doit poignée + (terme doit être présent) et - (le terme ne doit pas être présent), ET/OU
- doivent gérer groupement arbitraire (c'est à dire entre parenthèses ET/OU)
- doit permettre Django-ORM filtrage avant ou après le texte intégral de recherche (c'est à dire pré-/post-traitement des résultats avec l'ensemble complet de filtres que Django connaît)
- sinon, il doit y avoir une installation de bloc-extraction de l'ensemble de résultats et de la transformer en un QuerySet
- devrait être de lumière sur la machine, donc pas de préférence gigantesque JVM et Java app-installation du serveur
Est-il quelque chose qui fait cela? Je ne suis pas intéressé par des preuves anecdotiques, ou des références à certains articles de blog qui affirment qu'elle doit être au travail. J'aimerais entendre parler de quelqu'un qui a fait un entièrement fonctionnel de l'installation de travail dans le monde réel, dans des conditions réelles, avec de vraies requêtes.
EDIT:
Permettez-moi de répéter que je ne suis pas tellement intéressé par des preuves anecdotiques que quelqu'un, quelque part, a un peu de lancer l'installation de travailler avec de quelconques propriétés. Je suis déjà allé là-bas, j'ai lu tous les blogs, listes de diffusion, j'ai contacté les auteurs, mais quand il est venu à la mise en œuvre effective de la des scénarios du monde réel, rien n'a jamais fonctionné comme annoncé.
Aussi, et un utilisateur ci-dessous fait le point ainsi, en considérant le coût total de possession de tout projet, je ne suis certainement pas intéressé à entendre que quelqu'un, quelque part a été en mesure de le retirer une fois un fournisseur parachuté dans un nombre inconnu de spécialistes de singe-patch de l'ensemble de l'installation avec le domaine spécifique de la connaissance de qui est documenté nulle part.
Donc, s'il vous plaît, si vous prétendez que vous avez une installation de travail qui fait satisfont aux exigences minimales pour l'une à part entière de la recherche (voir les conditions ci-dessus), veuillez fournir les renseignements suivants afin que nous puissions tous bénéficier d'une solution de recherche pour Django qui résout le problème:
- exact distribution Linux, version,
- de sortie exacte de la version de la botte de Foin (ou l'équivalent) et de la version de recherche en arrière-plan,
- de sortie exacte de la version du moteur de recherche
- public (!) de la documentation disponible, comment mettre en place tous les composants exactement de la manière que votre installation a été mis en place tels que les exigences minimales ci-dessus sont remplies.
Je vous remercie.