C'est plus une question théorique plutôt que d'une pratique. Je travaille sur un projet qui est un catalogue assez simple de liens. Le modèle entier est similaire au catalogue DMOZ ou Yahoo, sauf que chaque entrée a certains attributs supplémentaires. P>
J'ai taxonomie hiérarchique forte> Travailler sur toutes les entrées avec une relation de nombreuses tâches, toutes les entrées sont désormais triées dans ces catégories et tout semble fonctionner correctement. Maintenant, quelle utilisation est un catalogue s'il n'y a pas d'option de recherche? P>
Voici un peu plus de détails sur mes modèles: chaque entrée a un titre, une description, une URL et plusieurs profils sociaux: YouTube, Twitter, Flickr et quelques autres d'autres. Chaque entrée pourrait avoir un logo attaché à celui-ci et un champ caché pour les balises. De plus, le titre et la description sont stockés dans trois langues différentes. Donc, fondamentalement, j'aimerais que les résultats de la recherche soient: p>
J'ai essayé Sphinx et travaille actuellement avec Lucene, mais il semble que je ne reçois pas la recherche en théorie. J'espère qu'il est logique que les candidatures remplies devraient comparaître plus haut que les autres, mais je ne peux pas vraiment comprendre les scores. Je ne voudrais pas que les entrées non pertinentes apparaissent sur le dessus s'il y a simplement un mot de mot dans toute la description, car les titres sont plus pertinents. P>
Donc, ma question est - Les liens sur des articles cool sont également appréciés! P>
et non fort>, je n'essaie pas de reconstruire google :) p>
Merci:) P>
4 Réponses :
Je suis sûr que Lucene suffit. Nous avons résolu une tâche similaire et nous avons bien fait bien. Voici quelques astuces que je peux vous proposer de regarder dans mon projet à Lucene.net. P>
taxonomie: p>
champs non consultables (logos, profil social): p>
trois langues et plusieurs champs: p>
Excellent livre: Lucene in Action (2e édition) a> p>
Quand nous avons commencé avec Lucene, nous avons eu la première édition, cela vous emmène vraiment à travers tout ce dont vous avez besoin étape par étape. Hautement recommandé. La 2e édition est mise à jour pour la dernière et la plus grande version (3.x.x). P>
Le TF-IDF algorithme fonctionne très bien (plus grand) Textes, mais si vous avez une structure semblable à un record, cela peut aller de feu: les documents comportant quelques termes sont considérés comme plus «pertinents» que ceux ayant de nombreux termes. Avec Lucene, vous allez le faire travailler, mais vous devrez vous salir les mains. P>
Ce que vous devez faire fondamentalement, c'est booster votre champ de titre < / a>, il devient donc plus pertinent. Vous pouvez aussi Modifier le mécanisme de notation pour attribuer des scores plus élevés pour des documents plus d'informations. P>
Amusez-vous. Si vous ne pouvez pas le comprendre, il existe un excellent support sur le Luceneverrer"> Lucene Mailinglist . p>
Lucene ou Solr ferait le travail. Solr est construit sur le dessus de Lucene, Voir ici pour plus d'informations < / p>
J'irais avec Solr. Télécharger + la configuration est facile et rapide. Commencez avec le didacticiel et mon Collection de liaisons . La pertinence devrait être bien avec SOLR et est un accord facile. P>
Regardez dans Dewfy et Matthijs Bierman répondent à de bons points. P>
Choisissez ensuite le gestionnaire de requête Dernax et vous pouvez préférer les docs avec certaines propriétés. P>
E.g. Pour le pourcentage d'un profil complet, vous définissez un champ distinct 'Profile_Completness ", vous pouvez ajouter profil_completé à BF (boostfunction) de Denmax Handler: Plus le profil est complet, plus ces documents seront stimulés. P>
J'ai mentionné avant que vous puissiez facilement régler la pertinence: par exemple. Vous pouvez configurer BF à STH. Comme: "Peut-être des logos" peut être résolu via des requêtes de boost: Pour afficher une arborescence de catégorie profondément imbriquée, vous devez créer cet arborescence en mémoire et nourrir SOLR avec une importation spéciale. Nous avons une application de travail pour cela. Vous pouvez utiliser Notre approche P>
Si vous avez besoin d'une assistance supplémentaire, n'hésitez pas à commenter. P> bf = Titre ^ 10 tags ^ 5complesse ^ 1 code> p>
BQ = logo: [* à *] ^ 1 code>. Où
logo: [* à *] code> signifie "uniquement des documents contenant le logo de champ" p>
Je vais essayer d'ajouter aux bonnes réponses de Matthijs, Dewfy et Karussell. Fondamentalement, vous essayez d'améliorer votre pertinence de recherche. Je vous suggère de lire Débogage de l'application de recherche Problèmes de pertinence et son Optimisation de la recherche sur Lucene et Solr , ainsi que son Pertinence pratique Diapositives . p>
Pour différentes langues et pour Faceting, je vous suggère d'utiliser Solr . C'est un moteur de recherche construit à l'aide de Lucene qui est facile à utiliser. Il peut prendre en charge plusieurs langues en utilisant une autre SOLR Core par chaque langue. P>
P.s. Je suis prêt à donner une prime pour la meilleure réponse.