この投稿は 10年半 前に公開されました。いまではもう無効になった内容を含んでいるかもしれないことをご了承ください。 生活に終われ、疲弊しきった不肖高橋です。海風薫る千葉の田舎町から大都会東京のコンクリートジャングルへと一人ゲルマン民族大移動を毎日繰り返した結果、加齢臭が強くなってきました。 昔は総武線でビール飲んでいるオジサンを見るたびに汚いものを見るような視線を投げていたのですが、いまその視線がブーメランのように私を射抜いていきます。 さて、「電車でビール飲んでる」と無意味な嘘をついたところで、おもむろに全文検索について。 以前WordPressで大規模データを扱う場合のTipsという記事でも触れたのですが、WordPressの検索はLIKE検索なので、記事が数千件を超えたあたりから少しずつ遅くなってきます。今回はその解決策として日本語全文検索をやってみます。 ぱくたそより アプローチ
表のような転置インデックス完成後は、クエリに対する結果を返す処理は簡単です。例えば、ユーザーが「Vim」というクエリを発行すると、検索エンジンは「Vim」を含む文書IDリストを返します。表では文書IDの「2」を返します。 検索エンジンを取り巻く7つの技術 検索エンジンのコア技術は前節で紹介したインデックスです。しかし実際に、検索インデックスだけで構成する検索エンジンから、検索サービスを構築するには多大なコストが掛かります。以下の節で検索エンジンを利用したシステム、検索サービスを構築する際に便利なコンポーネントを紹介します。 これらの機能のいくつかは、多くの検索エンジンが組み込んでいます。一方で、簡素な検索エンジンは、以下で紹介するコンポーネントをサポートしていないため、ユーザーが独自に開発するか、その機能を持つコンポーネントを組み込む必要があるものもあります。 【1】トークナイザ 検索エン
以前の記事(MySQLで全文検索できるって!?)で、id:tomyheroさんからMySQLの日本語全文検索は無理だからSennaで出来るよと教えてもらったので、やってみた。 基本的に構築系の作業は、自分の作業ログをメモ帳に記入しているんだけど、まとめるのが面倒でブログにそれを投稿してこなかったけど、これからは少しずつ溜まっているメモ書きをブログにアップしよう。 Sennaは日本語の字句解析のmecabを使って単語に分けて登録し、それを元に全文検索を行う。MySQLにsennaを組み込み、MySQLの関数をラッピングするのにtritonというものを使う。これはMySQLにパッチを当てたものです。 今回は、自分のホームディレクトリにsenna、mecab、mecab辞書、tritonをインストールしてみました。MySQLは元々動いているものがあったので、別ポートで動くようにインストールしてま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く