[メモ]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

RabbitMQというかRubyのAMQPライブラリメモ

どう考えても現在どのくらいのキューに貯まっているかは見たいですよね。

require 'rubygems'
require 'amqp'
require 'mq'

AMQP.start(:host => 'localhost') do
  MQ.queue("piyo").status{ |num_msg, num_csm| 
    puts num_msg # キューに貯まっているメッセージ数
    puts num_csm # 待機しているコンシューマ数
  }
  AMQP.stop { EM.stop }
end

CentOS5にRabbitMQをインストールしてRubyから叩く

RPMを用いると楽にできる。ちなみに32bit版です。

まず依存関係のチェックなどを行う。

$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v1.7.2/rabbitmq-server-1.7.2...
$ rpm -ihv --test rabbitmq-server-1.7.2-1.i386.rpm

すると Erlang が無いと言われるので、これもRPMで。

$ wget http://ftp.riken.jp/Linux/fedora/epel/5/i386/erlang-R12B-5.8.el5.i386.rpm
$ rpm -ihv --test erlang-R12B-5.8.el5.i386.rpm

Erlang のインストールに足りないと言われたものを yum でインストール。

$ sudo yum install unixODBC
$ sudo yum install tk

これでようやくErlangのインストールを行える。

$ rpm -ihv --test erlang-R12B-5.8.el5.i386.rpm
$ sudo rpm -ihv erlang-R12B-5.8.el5.i386.rpm

最後にRabbitMQをインストール。

$ rpm -ihv --test rabbitmq-server-1.7.2-1.i386.rpm
$ sudo rpm -ihv rabbitmq-server-1.7.2-1.i386.rpm
$ sudo /etc/init.d/rabbitmq-server start
$ sudo /etc/init.d/rabbitmq-server stop

これでRabbitMQを動かせるようになったので、Rubyから叩くためにAMQPライブラリをインストール。

$ sudo gem install amqp

サンプルコードは以下のサイトのコードを用いる。

国道152号を走破しようと思ったんだ

原付を買ってからは、浜松から東西にではなく北に遊びにいくことが多かった。

その際に必ずと言っていいほどR152を通るわけで、少なからず思い入れのある道なので卒業までに是非走破したい。ただR152は静岡県浜松市から長野県上田市まであり、更に2カ所の不通区間を有しており林道で迂回する必要がある。要するに原付だと少しきつい。そこで「酷道」「林道」あたりに反応しそうな飼育さん廃人さんに手伝ってもらった。共に神奈川県民であり、国道一本のためにわざわざ浜松まで車で来るようなタフネスな人たちだ。



2008年10月某日。まずはサクッと水窪浜松市最北端)近辺まで、ここまでは僕も慣れ親しんだ道。



僅かばかりの三遠南信道を通り長野県へ。ここから未知の領域。



第一の不通区間である青崩峠、を迂回する兵越林道。快調快調。



無事兵越林道を抜けた。



ちょっと迂回して青崩峠を長野県側から見てみるくらいに余裕がある。



そこから更に30分程北進。移動欲の高い3人が集まっているので皆の体力はまだまだ十二分に残っている。



あとは第二の不通区間である地蔵峠、を迂回する蛇洞林道を越えれば後は上田市までダラダラ走るだけ。酷道、恐るるに足らず!


4年目の木崎湖

大学入ってから毎年義務の様に行ってる木崎湖に昨年もやっぱり行った。

そろそろ朝飯にサンマを焼く程度の余裕は出てくる。

そろそろ小熊山に登ってみようかという意欲は出てくる。車で登れるけど岩が転がってたり猿が出てきたりする。

登ったときに思ったのは何故今まで来なかったのかと。天気も景色も良いしで最高です。

その後は葛温泉に行って見る。木崎湖から車で30分程で、周りに3件の温泉宿以外本当に何もない秘境だけど道はしっかりしてるので行きやすい。今回はかじかの湯に入りました。館内撮影禁止との事なので詳しくは

などを見られると良いかと思います。湯ノ花がボコボコ出てきて温泉感が高い。ゆーぷるも良いけど時間が合えば葛温泉まで出張るのが良いですね。

旅館のすぐ前を高瀬川が流れているんだけど水が澄み方が異常。今年も木崎湖に行きたいと思ってるけど葛温泉も是非行きたい。

11月「紅葉」,12月「イルミネーション(三脚使用不可)」.

タイトル通りのテーマ撮影。なんで三脚不可かというと僕が持ってないからだ!
紅葉は静岡市の果てにある、井川湖井川ダムまで行って撮ってきた。今回はC-PLフィルタを購入したのでついでにそれを試してみた。

C-PLフィルタ無し。

C-PLフィルタ有り。
奥の山々の色がクッキリしているけど空の色にムラが出来てしまっている。たぶん完全な順光ではないせいかなあ、と。色がハッキリするのは良いけど使う状況が限定されそうだ。

で、紅葉。ちょっとした崖っぽいところにあったのでこれ以上寄れない。

近寄れる紅葉は日陰だったので思いっきり露出を上げて撮ったところ空が真っ白になった。これはこれでWebの素材なんかに使えそうかなと思ったけど全然そんな事はなかったぜ。

で、イルミネーション。浜松駅前にあるツリーを下から撮った。縮小してもなお分かるブレブレ感が気持ちいいですね!カメラを置いて撮ってもごらんの有様……!

年末に中央道を走ってるときの一枚。夜に高速走行している車内でまともな写真が撮れるはずもないのでMFでピント外して遊んでいた。これがイルミネーションと呼べるかは謎。
ところで1月のテーマはなんだっけ【NGワード:卒論】