2010-10-31 23 views
1

J'utilise Django, haystack, solr, pour faire des recherches. Ive suis capable de rechercher et maintenant je voudrais trouver des articles similaires en utilisant more_like_this. Lorsque j'essaie d'utiliser la fonction more_like_this, je récupère tous les objets de ce type au lieu de ceux qui correspondent le plus. Voici un code pour vous montrer comment je l'utilise:Haystack more_like_this renvoie tous

def resource_view(request, slug): 
    resource = Resource.objects.get(slug=slug) 
    versions = Version.objects.get_for_object(resource) 
    related = SearchQuerySet().more_like_this(resource) 
    add_comment_form = AddCommentForm() 
    return render_to_response('resources/resource.html', 
           {'resource': resource, 
           'versions': versions, 
           'related': related, 
           'add_comment_form': add_comment_form}, 
           context_instance=RequestContext(request)) 

Apparemment j'activer MLT dans le fichier solrconfig.xml. Quelqu'un sait-il comment faire, ou un article/tutoriel qui est utile?

+0

Il vous me semble que vous l'utilisez correctement, mais avez-vous il activé dans 'solrconfig.xml' ? –

+0

vous avez raison je ne l'ai pas activé dans solrconfig.xml, pouvez-vous me signaler un bon tutoriel ou un article sur la façon de faire cela? – asawilliams

+0

vous pouvez ajouter la configuration ci-dessous répondre dans votre solrconfig.xml puis redémarrer solaire – soField

Répondre

3

question rassis, mais voici la réponse de toute façon:

Comme John a déjà signalé, vous devez ajouter plus comme ce gestionnaire (MLT) à votre config Solr. Cela devrait faire, mettre quelque part dans votre solrconfig.xml et recharger SOLR (Tomcat):

<requestHandler name="/mlt" class="solr.MoreLikeThisHandler"> 
<lst name="defaults"> 
    <str name="mlt.mintf">1</str> 
    <str name="mlt.mindf">1</str> 
    <str name="mlt.minwl">3</str> 
    <str name="mlt.maxwl">15</str> 
    <str name="mlt.maxqt">20</str> 
    <str name="mlt.match.include">false</str> 
</lst> 
</requestHandler> 
+0

Salut! J'ai un problème similaire, j'ai correctement ajouté cette configuration à solrconfig.xml mais te more_like_this est returnin dans les résultats vides. Des idées sur ce qui peut arriver? – acrespo