タグ

ブックマーク / tasukuchan.hatenablog.com (3)

  • SennaによるN-gramインデックスで注意すべき挙動 - グニャラくんのグニャグニャ備忘録@はてな

    追記:以下の文書について 現在リリースされているSenna 1.0.7では、 N-gramで1文字の日語を検索する場合は 直接部分一致検索を動作させるようにしました。 というわけで、以下で説明している挙動は今現在当てはまりません。 1文字の単語について uchiuchiyamaさんのブログにあった、Sennaのクエリ書式に対する質問 http://d.hatena.ne.jp/uchiuchiyama/20070317/senna_query_problem この問題ですが、 おそらくN-gramでインデックスを作成している場合に起こっていると考えられます。 SennaのN-gramインデックスはbi-gram、 すなわち2文字を1つのトークンとみなし、 インデックスへの登録を行っています。 ということは、文書の末尾を除いて、 すべてのトークンは2文字となり、 1文字のトークンで検索をし

    SennaによるN-gramインデックスで注意すべき挙動 - グニャラくんのグニャグニャ備忘録@はてな
    mrorii
    mrorii 2010/01/26
  • ツッコめ!全文検索エンジンSennaの新しいAPIについての素案。 - グニャラくんのグニャグニャ備忘録@はてな

    みんな、[Senna-dev 884]のメールは読んだかな!? 全文検索エンジンSennaの新しいAPIについての素案がついに公開されました。 今までのAPIのほとんどを刷新するという 大改造!劇的ビフォーアフター的API群です(APIの匠)。 んで、この新しいAPI群で何ができるようになるのでしょうか。 簡単に言うと、 「Sennaは、データベースになります!」 といいつつも、全文検索機能を充実させるために、 データベース的機能を強化した、という感じになっておりますぞ。 データベース機能 新しいSennaでは、複数のテーブルというものを持つことができます。 テーブルは、複数のレコードを持つことができます。 レコードは、複数のカラムを持つことができます。 カラムは、ある型のデータを保持します。 一般的なRDBMSの2次元表をまずはイメージしてください。 ポイント1. レコードごとにカラムが

    ツッコめ!全文検索エンジンSennaの新しいAPIについての素案。 - グニャラくんのグニャグニャ備忘録@はてな
    mrorii
    mrorii 2009/10/21
  • Google Suggestのようなものを高速に実現するサーバsuggested - グニャラくんのグニャグニャ備忘録@はてな

    Google Suggestのようなものを高速に実現するサーバsuggestedというものを書いてみた。 が、しばらく放置していた。とりあえず公開してみる。 特徴 epollやkqueueを使っていてネットワーク部分が速い Sennaを使っていてSuggest部分が速い Sennaを使って正規化している。「トン」とか「ミリバール」(組み文字)とか「Wiki」(全角)とかでも検索可能 置き場 CodeResosに置いてあります。 http://svn.coderepos.org/share/lang/c/suggested/trunk 一応、2008/01/17バージョンの全ソースコードを貼っておこう。 #include <sys/types.h> #include <sys/time.h> #include <stdlib.h> #include <err.h> #include <sys

    Google Suggestのようなものを高速に実現するサーバsuggested - グニャラくんのグニャグニャ備忘録@はてな
  • 1