2011-07-28 InnoDB純正の全文検索エンジンInnoDB FTS つい先日、MySQL-5.6.3-labs版がリリースがされました。この中にはInnoDBで動作する全文検索エンジン"InnoDB FTS"が含まれています。これまでは、MySQLとInnoDBの組み合わせで全文検索を行うためにはサードパーティの製品(mroonga 等..)が必要でしたが、これでズバっと選択肢が広がることになります。しかもInnoDBの開発チームが自ら開発した"純正の"エンジンということですから、これは大きな期待が持てます。 いったいどのような製品に仕上がっているのか、ざっくり記事やソースを読んで得た感触を述べてみたいと思います。 written by daijiro.mori どんなエンジンか? エンジンの概要については、 Overview and Getting Started with I
昔から「Rubyはドキュメントが弱い」と言われてきました。「PythonやPHPはあんなにドキュメントが揃っているのに、それに比べてRubyは。。。」というわけです。でも、待ってください。ドキュメントは記述が充実しているだけで十分ですか?簡単に目的のドキュメントにたどりつけますか? GoogleやBingなどの検索エンジンや、Amazonを筆頭とするECサイトは「探しものを見つけやすくする」ことにどんどん磨きをかけています。なぜ、ドキュメントの検索機能はそれほど進歩しないのでしょうか? ドキュメントの検索機能が、検索エンジンやECサイトでも使われているような最新の検索パターンを取り入れ、もっとリッチになればプログラミングがもっと楽しくなるはずです。それをRubyのドキュメントで実現しようとしているのがるりまサーチです。 最近、るりまサーチがよりパワーアップしたので、どう変わったかを紹介しま
Twitterのリアルタイム検索機能が、オープンソースのLuceneベースになったと、Twitter Engineeringブログへのエントリ「Twitter's New Search Architecture」で紹介されています。 これまでTwitterはリアルタイム検索にMySQLベースの独自システムを利用してきましたが、規模の拡大が難しくなってきたため、6カ月前に新システムの構築を決定。オープンソースの検索エンジンであるLuceneを選択したとのことです。 従来の50倍も高速に! 検索エンジンに対する要件は以下のように非常に厳しいものでした。 Our demands on the new system are immense: With over 1,000 TPS (Tweets/sec) and 12,000 QPS (queries/sec) = over 1 billion
FTS3を使って全文検索してみた。 SQLiteの全文検索というと、昔はFTS1とか2とかのモジュールを使用する方式だったみたいだけど、現在はFTS3なるものがsqlite3.exeとかに含まれているので、得に下準備をすることなく使用できるっぽい。 公式の説明 http://www.sqlite.org/fts3.html 参考にしたサイト http://cast-a-spell.at.webry.info/200806/article_15.html フルテキストサーチする為にやることは以下の3つ。 ・CREATE VIRTUAL TABLE テーブル名 USING fts3 でテーブルを生成する ・INSERTする時に、フルテキスト検索に使いたいカラムに、ヒットさせたいワードを半角スペースで区切りつつ登録 ・MATCHを使って検索する 検索方法とかそれなりに用意されているので、そこそこ
Overview FTS3 and FTS4 are SQLite virtual table modules that allows users to perform full-text searches on a set of documents. The most common (and effective) way to describe full-text searches is "what Google, Yahoo, and Bing do with documents placed on the World Wide Web". Users input a term, or series of terms, perhaps connected by a binary operator or grouped together into a phrase, and the fu
Googleの検索結果には、求めている情報が掲載されているウェブサイトだけでなく、それらを登録したソーシャルメディアやまとめ系サイト、コピペブログなど様々なノイズが表示されます。 表示順位がある程度上だからといってクリッすると、このようなページが表示されてしまうと、何度も同じような作業を繰り返さなければならず、非常にストレスが溜まりますね。 そんな検索結果に現れる気に入らないサイトは、「Google Domain Blocker」というGreasemonkeyスクリプトを使ってブロックしてしまいましょう。 「Google Domain Blocker」は、Googleの検索結果に表示されているドメインの中から、気に入らないものをどんどんリストに登録し、それらを結果から取り除くことができるというものです。 *なお、本スクリプトはgoogle.co.jpにはデフォルトで対応していません。goo
ソースコード検索エンジンはもっと評価されるべきだと思う。 過去に自分が書いたソースコードから特定の機能を検索したい 優秀な人が書いたコードから特定の API の使い方を調べたい という時に、自分用のソースコード検索エンジンを 持っておけばそれが実現できる。 個人で使えるソースコード検索エンジンとして Ruby で書かれた gonzui があるが インストールが少し面倒だった。 gonzui はせっかく Ruby で書かれているので gem 化したというのが今回のお話。 やったこと Gonzui - |▽ ̄)ノ なページ再帰 で GNU Make を使ったインストール方法から setup.rb を使ったインストール方法に書き換えている コードが公開されていたので、それをベースに gem 化した。 ついでに途中まで書かれていた Git 対応コードを 動くように修正した。 中の人に本当に感謝。
先日、るりまの成果物であるRubyのリファレンスマニュアルを検索するWebアプリケーションるりまサーチを公開しました。 OpenSearchにも対応しているため、Firefoxの右上の検索窓から検索することもできます。 これまでも、るりまの成果物はBitClustを使ってWebブラウザから見ることができました1。しかし、BitClustのWebインターフェイスは検索機能が弱く、目的の情報にたどり着くのが難しいと感じたことがあったのではないでしょうか。例えば、全文検索ができなかったり、そもそも検索がとても遅かったりしました。 るりまサーチでは全文検索エンジンとしてgroongaを利用することにより、高速な全文検索機能と使いやすい絞り込み機能を実現しています。それでは、るりまサーチの機能とその実装について簡単に紹介します。 機能 るりまサーチは多くの情報を絞り込んでいきながら目的の情報に到達す
Bing API を使い始めてみる 2010-03-18-2 [WebAPI] Bing Developer Center (http://www.bing.com/developers/)の右カラムの「Create an AppID」経由で、Windows Live ID を登録してから AppID を作成する。 で、「渋谷」のウェブ検索結果の100件目から5件を取得する例: http://api.search.live.net/xml.aspx?Appid=<AppID>&\ query=%E6%B8%8B%E8%B0%B7&sources=web&web.count=5&web.offset=100 なお、パラメータ web.count の範囲は 1-50、web.offset の範囲は 0-1000。アクセスは1秒間に7回未満という制限あり。 参考 - Introducing Bi
米Microsoftは1月18日(米国時間)、検索エンジン「Bing」について、関連IPアドレスのデータ保存期間を18カ月から6カ月に短縮する新プライバシーポリシーを発表した。欧州連合(EU)の動向を意識したもので、1年から1年半以内に実施する予定。 Microsoftが現在、Bingで採用しているプライバシーポリシーは、1)ユーザーがBingに検索クエリを入力するとアカウント情報を分離してユーザー識別を不可能(匿名化)とし、2)18カ月後にIPアドレス情報、クッキーID、その他クエリが関連するクロスセッションIDなどを消去する、という流れ。 最新ポリシーでは保存期間を変更し、6カ月後に全IPアドレス情報を、18カ月後に残りのクロスセッションID情報を消去する。 Microsoftは、検索データ保存には、トレンド分析、検索結果の改善などのメリットがあるが、消費者のプライバシーは保護されねば
実験エントリです。 予習してみる 「転置インデックス」というキーワードで検索して、しばらく勉強してみます。 転置インデックス - Wikipedia mixi Engineers’ Blog » 転置インデックスを実装しよう ASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか? [を] 転置インデックスによる検索システムを作ってみよう! 転置インデックスで学ぶ検索エンジンの中身アプリ - 睡眠不足?! うーんなるほど。分かったような分からないような。 作ってみる とりあえず、Twitter4Jを使ってこんなデータを用意しました。ちなみに人選は漢(オトコ)のコンピュータ道: MySQLerのTwitterアカウントまとめ。を参考にさせていただきました。 5707049458,2009-11-14 20:28:34,sakaik,@hbstudy
同僚の生産性ツール愛好家が熱に浮かされて言った. "QuickSilver の検索がすごいんだよ!" どう凄いのかというと, たとえば "Skype を検索するのに <sp> でいい!" らしい. それは凄いのかも. 私もいちおう QuickSilver を使っているけれど, 素敵機能の類はまったく活用していない. だいたい私の使うアプリケーションはどれも一文字で特定できる. Firefox, Emacs, iTerm, Activity Monitor... そういえば iTunes は iTerm と被ってる. ためしに <iu> と打ってみたら iTunes にマッチする. なんとなく凄い気がしてきた. 同僚はこのアルゴリズムが気になるらしい. 編集距離の仲間かとも思ったけれど, 違う気がする. とりあえずぐぐってみたところ, QuickSilver は 2007 年に オープンソー
Ruby/groongaのサンプルアプリケーションのデモを用意しました。 クリアコードのサイトを「ruby」で検索 RailsなどのWebアプリケーションフレームワークを使うほどのものではないので、ActiveGroongaは使わずに、Ruby/groongaとRackの組み合わせになっています。Rackについてはyharaさんの5分でわかるRackなどを読んでみてください。 デモはPassengerで動かしています。PassengerにRackを設置したことがある人なら10分もかからずにサンプルを動かせるのではないかと思います。 機能 デモを見てもらえばわかる通り、小さなサンプルですが以下のように一通りの機能は備えています。 複数キーワードによる絞り込み スコア順による並べ替え 検索キーワードの正規化(「Ruby」でも「ruby」でも検索可能) キーワード周辺の文章の表示 それぞれ、もう
「Yahoo!JAPAN」の検索エンジンも「Bing」に――米Yahoo!が米Microsoft(MS)と提携し、MSが開発したBingの検索エンジンを採用すると発表したことを受け、ヤフーは7月30日、「Yahoo!JAPANの検索エンジンにもBingを採用する可能性が高い」とコメントした。検索連動広告についても、MSのプラットフォーム採用を検討する。 Yahoo!JAPANの検索エンジンは現在、米Yahoo!が開発した「Yahoo! Search Technology」(YST)だが、「米Yahoo!がBingに切り替えた後、日本市場向けにも良いエンジンだと判断すれば、Yahoo!JAPANにもBingを搭載していく可能性が高い」(ヤフーの広報担当者)という。 「MSと米Yahoo!の発表内容を見てみると、YSTの開発が終了する可能性が高い。ヤフーは以前、Googleやgooの検索エンジ
Baidu.comの検索サーバーはSSD 2009-04-23 (Thu) 12:21 SSD 日経エレクトロニクスの以下の記事より。 どう付き合うかSSD Baidu.comの検索速度向上のカギを握る部品が,SSD(solid state drive)である。SSDはNANDフラッシュ・メモリを記憶媒体として使い,HDDと同様のインタフェースを備えたストレージ装置。HDDのようにモータやヘッド,アームといった機構部品がなく,データへのアクセス性能が高い。2009年現在,同社は「検索サーバー全体の数十%,Web検索向けサーバー機能に限定すると100%をSSDに切り替えた」(バイドゥ マーケティング部 部長の添田武人氏)という。 へー。もっと買って安くなって! まあもう検索サーバー用にメモリを並べる時代は終わったと思う。 Similar Posts: Tx: Succinct Trie D
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く