MySQL Casual Talks Vol.4 でのライトニングトークに利用した資料です。 MySQL-5.6.4より「InnoDB FTS」としてInnoDBで全文検索機能が加わりました。 この全文検索機能を利用し、日本語の全文検索エンジンとしての可能性を探ります。 ブログ記事はこちらです。 http://y-ken.hatenablog.com/entry/mysql-casual-talks-vol4-innodb-ftsRead less
![MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」](https://cdn-ak-scissors.b.st-hatena.com/image/square/83ddba6b2b5426f93e78dd230dbb3dfc32f07494/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fmysql-5-6innodbfts-130420105424-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
調べた経緯 データベースの内容を全文検索したいという要望は定期的にあるので、常に情報は探しているんだけど、PostgreSQLに関しては調べたことなかったので色々調べてみた。 Senna Senna 組み込み型全文検索エンジン - Senna 組み込み型全文検索エンジン これがスタンダードだった時期もあるんだろうけど、結局PostgreSQL9.x系にインストール出来なかった。 textsearch_sennaを使って動かそうとしたんだけど、そもそも公式サイトで配布されている圧縮ファイルをダウンロードしても、ちゃんとインストール出来ない。 CVSでソースコードをダウンロードして・・・という手順だと動くとMLに書かれていたので、チャレンジしてみたけど結局ダウンロード出来なかった。 ダウンロード出来たとしても、Senna本体が2010年からリリースされてないみたいだから、はっきりいって今更感が
グリーでログ分析システムの開発を行っている一井崇氏からは、「全文検索のちょっとちがった使い方(仮)」と題する発表があった。 グリーにおける数値指標管理では、基本となるデータの総数が「1億キー×最大7年」という膨大な量に上り、さらに時間ごとに増え続けるアプリIDとの組み合わせなども考慮すると、すでに人間の手では管理しきれない状態にある。 同社ではMySQLベースのKVS(Key Value Store)によって、これらのデータを管理しているが、問題はkeyの数が膨大過ぎて必要なkeyを見つけるのが困難になっていることだという。 その解決のためにHadoopやMongoDBを導入するといった選択肢もあるが、同社が取った方法は「key stringを全文検索することで目的のkeyを探す」というものだった。一井氏によれば、グリーの数値指標管理システムの目的を整理すると、以下のようになるという。 や
これに検索コマンドをつけたのでメモ。MeCabを選んだのは気分です。 User Streamsから取得する際にそのままのJSONをMongoDBに入れてたのを、MeCabかませた配列も入れるコードを追加(過去ログもバッチ処理した)。 if status['text'] status['keywords'] = MeCab::Tagger.new("-Owakati").parse(status['text']).split(' ') end あとインデックスを張る $ mongo > use userstreams > db.status.ensureIndex({keywords: 1}) 検索する関数 def search(keyword) keywords = MeCab::Tagger.new("-Owakati").parse(keyword).split(' ') return
本連載では、筆者が約4年間に渡って開発を続けているFINDSPOTという検索エンジンを紹介していきます。FINDSPOTは約1年前より商用での提供を行っていますが、近いうちにオープンソースでの公開を計画しています。今回は、開発を行うに至ったきっかけについてのお話です。 きっかけは顧客の要望から 時は2003年、今から約4年前に遡ります。筆者は当時、客先のイントラネット構築プロジェクトを手がけていました。イントラネットでは、全文検索は目的の情報に素早くたどり着くために必須の機能です。フリーの全文検索エンジンとして有名なNamazuは、当時の筆者にとってすでに数年間愛用し、手に馴染んだソフトウェアでしたので、客先のイントラネットの構築でもNamazuを使って検索機能を実現していました。 ところが、客先より人名や特殊な業界用語などで完全一致で検索できないケースがあるという指摘を受けました。Nam
先月ハワイに行ってきてオルオルな (ハワイ語で '楽しい' という意味) 気分の takahi-i です。最近ログデータの有効活用が話題になっていますが、検索エンジンが出力する検索クエリログを使用してどんなことができるのかについて紹介させていただきます。 検索クエリログ 検索クエリログ (以下検索ログ) は検索エンジンを使用するユーザから発行された検索の履歴を保存したファイルです。検索ログのフォーマットは使用する検索エンジンや Web サーバによって異なります。さらにまた検索ログが含む情報にも差異があることが考えられますが、本稿では検索ログは解析を行う上で重要な三つの要素を含むと仮定します。三つの要素とはユーザ ID (もしくは IP アドレス)、クエリ文、そしてクエリが検索エンジンに処理された時間です。以下検索ログの一例を載せます。 ユーザID クエリ文 クエリ発行時 438904 Su
実験エントリです。 予習してみる 「転置インデックス」というキーワードで検索して、しばらく勉強してみます。 転置インデックス - Wikipedia mixi Engineers’ Blog » 転置インデックスを実装しよう ASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか? [を] 転置インデックスによる検索システムを作ってみよう! 転置インデックスで学ぶ検索エンジンの中身アプリ - 睡眠不足?! うーんなるほど。分かったような分からないような。 作ってみる とりあえず、Twitter4Jを使ってこんなデータを用意しました。ちなみに人選は漢(オトコ)のコンピュータ道: MySQLerのTwitterアカウントまとめ。を参考にさせていただきました。 5707049458,2009-11-14 20:28:34,sakaik,@hbstudy
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く