タグ

検索に関するhiroyukimのブックマーク (3)

  • Go言語でag(The Silver Searcher)ライクな高速検索ツールをつくった。EUC-JP/Shift-JISも検索できマス。

    いまや高速パターン検索といえばag(The Silver Searcher)ですが、検索対象がUTF-8のテキストを前提としているため、EUC-JPやShift-JISといったファイルを検索するのに課題があります。 これまで、それらの日語文字セットを検索できるようにするため、色々とagの改造、公開を行っていました。 ag(The Silver Searcher)でEUC-JP/Shift-JISのファイルも検索できるようにしてみた 日語圏特化型ag -白金- の配備が完了しました しかし、特定の国の文字コードだけに特化した修正というのをmasterに取り込んでもらうわけにもいかず、派生ブランチとして追随するのも、やはり面倒… そこで年始にGo言語を触ったのをきっかけに、Go言語でパターン検索ツールをつくってみました。 せっかくなのでポストagを目指して、プラチナサーチャー(The Pl

    Go言語でag(The Silver Searcher)ライクな高速検索ツールをつくった。EUC-JP/Shift-JISも検索できマス。
  • 日本語圏特化型ag -白金- の配備が完了しました

    かねてより開発を続けていたパターンマッチ検索sg (日語圏特化型ag) の配備が完了したので、その経緯と仕様を以下に記す。 開発経緯 パターンマッチ戦線に鳴り物入りで配備されたUTF8連合の誇るagだったが、極東戦線において、旧式日語文字セットを散りばめ潜伏するEUC-JP/Shift-JIS軍の極東迷彩の前に、その索敵機能を充分に発揮できないことが判明するや一気に劣勢化。戦線から離脱しつつあった。 事態を重く見たUTF8連合極東支部開発主任は、UTF8ディテクション機能を応用したEUC-JP/Shift-JISディテクション機能を追加、日語圏仕様の改良型を開発した。[開発コード legacy-0.1] 戦線投入のため、同支局によりHomeBrew化が加えられるも、入出力機構が従来型のため活躍の範囲は限定された。 後に入出力機構にiconvを組み込み、旧式日語文字セットの自動検出に

    日本語圏特化型ag -白金- の配備が完了しました
  • ブロックアルゴリズムとB-Treeアルゴリズム

    ファイルサーチを高速化するB-Treeアルゴリズム ext2、ext3がベースとするブロックアルゴリズムは、ブロック数が対応するディスクのジオメトリ数に制限されること、ファイルサーチにO(n)かかる(注)こと、ファイルサイズに関係するパフォーマンス低下など、いくつかの問題があった。 注:「O(n)」とは、実行時間が入力の大きさ「n」に比例するアルゴリズムである。O(n)は「nのオーダー」または「オーダーn」と読む。後述する「O(log n)」は、アルゴリズムの計算量に関する議論の場合logの底は常に2で、O(log n)の方がO(n)よりも効率が良い。例えばn=8の場合、O(log n)は入力8に対して3回の実行で済むが、O(n)は8回の実行となる。 ReiserFS、JFS、XFSといったファイルシステムでは、こうしたブロックアルゴリズムの限界に対して、早い段階からデータベースの技術をフ

    ブロックアルゴリズムとB-Treeアルゴリズム
    hiroyukim
    hiroyukim 2010/05/17
  • 1