[メモ]solr-ruby で MoreLikeThis

クエリを投げるときにmltオプションを追加する。

    options = Hash.new
    options[:rows] = 50
    options[:start] = options[:rows] * (page - 1)
    options[:mlt] = {}
    options[:mlt][:field_list] = ["description"]
    query = "description:#{query}"
    res = con.query(query, options)


オプションを指定する箇所のソースは以下の様になっているので、細かく指定したいときは公式の資料を見つつ行う。

gems/1.8/gems/solr-ruby-0.0.8/lib/solr/request/standard.rb

    if @params[:mlt]
      hash[:mlt] = true
      hash["mlt.count"] = @params[:mlt][:count]
      hash["mlt.fl"] = @params[:mlt][:field_list].join(',')
      hash["mlt.mintf"] = @params[:mlt][:min_term_freq]
      hash["mlt.mindf"] = @params[:mlt][:min_doc_freq]
      hash["mlt.minwl"] = @params[:mlt][:min_word_length]
      hash["mlt.maxwl"] = @params[:mlt][:max_word_length]
      hash["mlt.maxqt"] = @params[:mlt][:max_query_terms]
      hash["mlt.maxntp"] = @params[:mlt][:max_tokens_parsed]
      hash["mlt.boost"] = @params[:mlt][:boost]
    end

MoreLikeThis - Solr Wiki