Package: org.apache.lucene.analysis An Analyzer is a TokenStream factory. A TokenStream is an iterator over Tokens. input is a character iterator (Reader) A Token is tuple <text, type, start, length, positionIncrement> text (e.g., “pisa”). type (e.g., “word”, “sent”, “para”). start & length offsets, in characters (e.g, <5,4>) positionIncrement (normally 1) standard TokenStream implementations are
たかがランキング、されどランキング。サービスの中でランキングという機能を提供する上できちんと技術的な検証をせずにだしてしまう、ということほど愚かなものはありません。ランキングの推移を一喜一憂するのは常々なので、正確なランキングが出せないと色々と不安にさせてしまいますよね。 現実解としてはRedisを導入して気合入れて運用の面倒見ればいいのですが、古きよきWebサービスだとMySQLをメインとした構成になっているとおもうので、 ここに追加でRedisを入れるとなると運用時に出くわすアレコレを考えると結構手間だったりします。 そんなときに「MySQL用にランキング専用ストレージエンジンを作る話」(http://d.hatena.ne.jp/kazuhooku/20131001/1380595265)を読んでなるほど!と思い 共感する部分も多くあったのと色々タイミング的に良かったのでRedisの
2011/10/29-30 5th sensor & overlay workshop Skip List Revisited! (再訪) 吉田 幹 BBR, PIAX Inc. ~探索アルゴリズムと構造化オーバーレイ、 両者の接点について考える~ “Skip listという探索のためのアルゴリズム(+デー タ構造)を通して、構造化オーバーレイに有用な 原理を考える” 5 ここでは、考えの道筋について発表します。 答えには至っていません。 研究にはまだまだ残された領域のあることを知っ てもらうことができたら光栄です。 なぜ、Skip listか (私は)構造化オーバーレイをこう捉えている “探索アルゴリズム” の適用領域が、1台のコンピュータ の内側から広域に拡がるネットワーキングの世界に展開 した形 特に、Pastry, Tapestry (Plaxtonのアルゴリズム), Kadem
デフォルトの設定 (zset-max-ziplist-entries, zset-max-ziplist-value) では 該当するSorted Setのエントリ数が128個以下 該当するSorted Setに含まれるmember (not score) のデータ長が全て64byte以下 という2つの条件が成立している場合、Sorted Setの表現にはSkip ListではなくZip Listというデータ構造が使われる。ZADD, ZCOUNT等の実装もどちらのデータ構造を使っているかのフラグで分岐している。 Zip Listはポインタを使わずデータとそのオフセットだけで表現された双方向リストであるため、空間効率はよいが全体のサイズが大きくなるとすぐ使えなくなる。 Redisにおいては、Sorted Setへのinsertに際して上記条件のどちらかが満たされなくなった場合にZip Li
漢字で書くと仰々しいが、赤黒木 (wikipedia) red-black tree (english wikipedia)という平衡二分木で最も多くつかわれているデータ構造の、改善版が出てたそうだ。 left-leaning red-black tree (pdf) 日本語に訳すと左傾赤黒木かな。簡単な漢字を並べている感じがしてしまう 赤黒木の詳細については、wikipediaなどをよんでもらうとして、これは更新時間が定数で更新箇所が局所的(これはマルチスレッドとかでロックする箇所をかなり細かい単位で、できるという強い利点もある)のだが、実装が結構面倒くさい。例えばC++ stl のmapとかの赤黒木の実装のstl_tree.h(google code search)は大変なことになっている(特にRb_tree_rebalance_for_eraseとか) 赤黒木というのは動的データ構造
Redis の sorted set にかんするメモ ほんとにチラ裏ですが。 http://japan.cnet.com/blog/kenn/2011/01/13/entry_30011467/ をみてて、なんで redis の ZRANK はやいのかなーとおもって、しらべたののメモです。 skip list については、http://www.geocities.jp/m_hiroi/light/pyalgo19.html このへんがわかりいいとおもいました。 INSERT: O(log(n)) REMOVE: O(log(n)) ですよ、と。 hash で member → score のデータを保持してる。 skip list で score → member のデータも保存してる skip list の実装は William Pugh のオリジナルのコピーだけど、ちがいも3つほどある
Last week AvocadoDB got mentioned in “nosql weekly” and the project achieved a huge amount of public interest especially from Japan. Awesome! In this context Mr. Fiber asked on twitter what the use of skip list indices in AvocadoDB is. Here’s a short video reply by chief architect martin Schoenert. Got an opinion on this? – we’d love to hear your thoughts on this in the comments. skip list index
Comparing ArangoDB with CouchDB and MongoDB November 13, 201200GeneralTags: Performance The folks over at MongoDB have an article on their site on Comparing MongoDB and CouchDB. They write: “We are getting a lot of questions “how are mongo db and couch different?” It’s a good question: both are document-oriented databases with schemaless JSON-style object data storage. Both products have their pla
スキップリスト(Skip List)は1990年に発表された比較的新しいアルゴリズムで、要素の挿入や削除、検索を平衡木と同等のパフォーマンスで実行可能なリスト構造です。 Skip Listは連結リストの多層構成になっています。路線に例えると、最下層のリンクは各駅停車のように、全要素を結んでいます。一方、上層のリンクは急行や特急のように、途中の要素をスキップするようになっています。この路線を特急→急行→…→各駅と乗り継ぐことで、目的の要素に高速に到達できる仕組みです。もっと詳しい解説はこちらやこちらにあります。 で、ここからが本題です。Skip Listの実装はいくつも出ているんですが、Sorted Listとしての実装ばかりで、要素を任意順序で格納できてランダムアクセス(indexを指定してのアクセス)可能なSkip Listが見つからなかったので、自分で作ってみました。 通常のSkip
I'm trying to answer two questions in a definitive list: What are the underlying data structures used for Redis? And what are the main advantages/disadvantages/use cases for each type? So, I've read the Redis lists are actually implemented with linked lists. But for other types, I'm not able to dig up any information. Also, if someone were to stumble upon this question and not have a high level su
WEB+DBのRedis特集をひろせまさあきさんと共同で執筆しました。 WEB+DB PRESS Vol.73posted with amazlet at 13.03.05設樂 洋爾 白土 慧 奥野 幹也 佐藤 鉄平 後藤 秀宣 mala 中島 聡 堤 智代 森田 創 A-Listers はまちや2 大和田 純 松田 明 後藤 大輔 ひろせ まさあき 小林 篤 近藤 宇智朗 まかまか般若波羅蜜 Mr. O 技術評論社 売り上げランキング: 335 Amazon.co.jpで詳細を見る 買ってください。 このRedis特集の第五章では、Redisを使ったリアルタイムランキングについて取り上げたのですが、 記事中にある同点問題について、執筆時から状況が変わりましたのでupdateします。 記事中では、RedisのSortedSetsはスキップリストというアルゴリズムを使っている特性上、 同じス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く