タグ

ブックマーク / mocobeta-backup.tumblr.com (2)

  • moco(beta)'s backup: [翻訳] Using Finite State Transducers in Lucene

    Lucene/Solr Advent Calendar 2014 22日めです。 第15回Solr勉強会で、ごく軽くLucene FST の紹介をしたのですが、自分もまだまだ勉強中です。ということで Lucene 開発者の Mike さんに、だめもとで「ブログのFST 関連のエントリを翻訳していいですか?」とメールを送ってみたところ、「いいよ!」と快諾してもらえたので、ここに掲載します。 —- 関連する話題ですが、 Golang で書かれた形態素解析器 kagome を作っている @ikawaha さんが、Lucene を絡めてにもわかる(かもしれない) FST の解説を書いてくださいました。ありがとうありがとう(;ω;)!アルゴリズムの説明から Double Array との比較まで至れり尽くせりなのであわせてどうぞ。 Luceneで使われてるFSTを実装してみた(正規表現マッチ:VM

    moco(beta)'s backup: [翻訳] Using Finite State Transducers in Lucene
    yass
    yass 2015/03/21
    " SortedMap 実装よりもメモリ消費が少なく、しかしルックアップ時の CPU コストが高くつく"
  • moco(beta)'s backup: Redis でタスクキュー (2)

    Redis でタスクキュー (1) の続きです。優先順位のあるタスクについて。 タスクに優先順位があって、優先度の高いタスクは低いタスクより先に処理したい、という場合は、優先度ごとに複数のLISTを用意することで対応できます。BLPOP / BRPOP は複数のLISTを受け取ることができ、必ず左のLISTから順に処理する、という性質を利用します(…というよりは、BLPOP / BRPOP 自体がタスクキュー・メッセージキューのために用意されていると思っていいはず)。 Redis 2.8.8, Python 3.4.0, redis-py 2.9.1 で動作を確認しています。 (少し変更した) Provider メソッド 指定されたLISTに、要素を右から追加します。 def provider(conn, name, total_tasks, queue, sleep=0.1): """

    yass
    yass 2014/06/16
    " というよりは、BLPOP / BRPOP 自体がタスクキュー・メッセージキューのために用意されていると思っていいはず "
  • 1