Стог сена more_like_this возвращает все - PullRequest
1 голос
/ 31 октября 2010

Я использую Django, haystack, solr, для поиска. Я могу искать, и теперь я хотел бы найти похожие предметы, используя more_like_this. Когда я пытаюсь использовать функциональность more_like_this, я получаю все объекты этого типа, а не только те, которые близко им соответствуют. Вот некоторый код, чтобы показать вам, как я его использую:

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))

Очевидно, мне нужно включить mlt в файле solrconfig.xml. Кто-нибудь знает, как это сделать, или статью / учебник, который полезен?

1 Ответ

3 голосов
/ 10 сентября 2011

устаревший вопрос, но все равно вот ответ:

Как уже отмечал Джон, вам нужно добавить подобный обработчик (MLT) в конфигурацию solr. Это должно сделать, поместите его где-нибудь в ваш файл solrconfig.xml и перезагрузите 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>
...