Home > タグ > 全文検索

全文検索

雑記

MySQLで全文検索

MySQLで全文検索やりたくて色々調べてました。ちなみに今までは独自にプログラム側で形態素解析した結果をシンプルな転置インデックスに格納する方法をとっていました。シンプルな方法なので、転置インデックスのキーと(大文字小文字、全角半角の違い程度は吸収してますが)完全に一致しないと検索できないという不便なものです。なんでこんなことやってるかというと、fulltext(GIN)インデクスが無い時代のPostgreSQLを使ってたときのコードを流用したからですw

たぶん一番メジャーなやり方はfulltextインデックスを付ける方法でしょう。fulltextインデクスは半角スペースなどを文字の区切りと認識(西洋の言語に特化)するため、そのままでは日本語に使えず、データを格納するときに形態素解析またはn-gramで分割した語を半角スペースで区切って格納する、という処理をアプリケーション側に実装する必要があります。これでも今までの独自実装よりは実装が楽なので全然OKなのですが、追加・更新・削除のパフォーマンスが気になります。

もう一つは、Sennaという全文検索エンジンをMySQLに組み込んで使う方法です。最近はTritonnプロジェクトというところでSenna組み込み済みのMySQLのバイナリを配布してるので、導入の敷居は低いです。モバゲータウンやニコニコ動画もこれを使ってるという噂を聞いたことがあるので、パフォーマンスも問題ないというか現実的には最速に近い方法なんだろうと思われます。唯一の問題は今稼働中のMySQLから切り替えなきゃいけないということです。もちろん通常MySQLとTritonn版MySQLを共存させることもやれば出来ると思いますが、下手して環境が壊れるのも嫌なので、AmazonEC2でもう一台サーバを調達してちょっとテストしてみたいなと。

風が吹けばアフィリが儲かる

2/2に4万5千PV/日を達成した例のサイトの話ですが、現在27万PV/日となってます。でも全然アフィリが儲からない。AmazonEC2の利用料を差し引いたらいくらも残りませんT-T

まぁ、PVは6倍程度になったけど、UUが2倍弱にしかなってないからねぇ・・・

平均PV15てどんだけw

とまぁ、全然儲かってないと言いながらもここ約1ヶ月で少し傾向のようなものが見えてきたのでメモ。

午前5時~6時が一番1時間あたりのPVが少ないのですが、アフィリ経由の購入は一番多い。

休日に天気が悪いと昼間でもアフィリ経由の購入がある。

今日は強風で電車の運行に支障が出てるからか分かりませんが、お昼の最高購入数を更新しました。

風が吹く→電車が止まる→休日にお出かけできない人が増える→家でインターネットする人が増える→サイトの来訪者が増える→アフィリが儲かる

なんか風が吹けば桶屋が儲かるみたいで自分で考えててウケましたw
まぁでもそういうのはすでにコンビニなどでデータ化されて利用されてるらしいのであまりバカにできない話なのかも。

男の料理

昨日彼女が「明日の夕飯作って食べさせて」と言ってきて「分かった」と答えてしまったので、今日は夕飯を作ってみることに。

いつもは彼女が作ってくれるので、僕は殆ど料理しません。僕が出来るのはパスタをレンジでチンして市販のソースをかけて食うぐらい。あとポップコーンを種から作ることぐらい。それは料理じゃないですね。

彼女は本業の他に料理教室やるような人なので、何を作ったらいいか真剣に考えないといけません。

そういえば去年のクリスマスに、 ローストビーフに挑戦して、失敗して、凹んで、慰められるという醜態をさらしてしまったので、ちょっと今回は頑張ってみようかな。

しかし料理は苦手です。男は黙ってにぎりめしとか言ったら怒られるかな。

トップページ > タグ > 全文検索

検索
フィード
メタ

ページの最初に戻る