2

検索には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))

どうやら、solrconfig.xml ファイルで mlt を有効にする必要があるようです。これを行う方法、または役立つ記事/チュートリアルを知っている人はいますか?

4

1 に答える 1

4

古い質問ですが、とにかく答えは次のとおりです。

Johnがすでに指摘しているように、このハンドラー(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>
于 2011-09-10T12:10:52.777 に答える