タグ

groongaに関するakishin999のブックマーク (29)

  • PGroonga(ぴーじーるんが) 1.0.0リリース

    PGroonga(ぴーじーるんが) 1.0.0リリース 今日は肉の日ですね! PostgreSQLからGroongaを使えるようにするPGroongaの1.0.0をリリースしました!最初のメジャーリリースです! PGroongaについて PGroongaはPostgreSQLを高速に日語全文検索可能なシステムに拡張する魔法のような拡張機能です。PGroongaの他にも類似の拡張機能はありますが、速度・機能面で他の拡張機能とは一線を画しています。これはPGroongaはバックエンドにGroongaという格的な全文検索エンジンを使っているためです。 速度面では類似の拡張機能であるpg_bigmよりも高速です。インデックス作成時間、検索時間ともに数倍から10倍以上高速です。 PostgreSQLで日語全文検索 - LIKEとpg_bigmとPGroonga - ククログ(2015-05-2

    PGroonga(ぴーじーるんが) 1.0.0リリース
  • MroongaでGroongaの機能を使いこなす高度なテーブル設計をする方法 - CreateField Blog

    はじめに MySQL/MariaDBで高速に全文検索するためのオープンソースのストレージエンジンMroongaは、以下のように、Engine=Mroonga、FULLTEXT INDEX (${source_column})と書くだけで非常に簡単に全文検索を使い始めることができます。 CREATE TABLE memos ( id INT NOT NULL PRIMARY KEY, content TEXT NOT NULL, FULLTEXT INDEX (content) ) Engine=Mroonga DEFAULT CHARSET=utf8; 検索するときも以下のようにMATCH ... AGAINSTを使うだけです。 mysql> INSERT INTO memos VALUES (1, "1日の消費㌍は約2000㌔㌍"); Query OK, 1 row affected (

    MroongaでGroongaの機能を使いこなす高度なテーブル設計をする方法 - CreateField Blog
  • Groongaが得意でない類似文書検索にGETAssocという連想検索エンジンを使った話 - CreateField Blog

    GroongaおよびMroongaにおける類似文書検索について GroongaおよびMroongaには、類似文書検索の機能が実装されています。 GroongaおよびMroongaの類似文書検索では、検索クエリが完全に含まれる文書をヒットさせるのではなく、検索クエリをトークンに分割にし、転置インデックスを使ったトークンごとのマッチ検索結果に対して所定の重みづけ処理や並べ替え等をし、TF(語句の出現頻度)とIDF(語句の稀少性)を考慮させて検索クエリに似ている文書を上位表示させます。 類似文書検索では、必ずしも全てのトークンが文書に含まれていなくとも検索にヒットします。 スコアの算出基準の詳細は、こちらを参照してください。 なお、Groongaの類似文書検索ではない全文検索のデフォルトでは、TFのみが考慮された順番でソートされています。SolrやElasticsearchのデフォルトでは、TF

  • 国産の全文検索エンジンGroongaはRubyから簡単に使うことが出来る - ブログのおんがえし

    国産の全文検索エンジンGroonga vs 世界的流行のElasticsearch - CreateField Blog がバズってるうちに(と、いいながらもう数日経ってしまった・・)関連情報を流してみようと思います。 Rroonga Rroongaというgemを使うとRubyから簡単にGroongaの操作(データベースの作成、検索データの追加や削除、クエリーを使って検索など)を行うことが出来ます。 GrnMini 自作のGrnMiniというgemを使うと検索インデックスの作成も含めてさらに簡単に実装することが出来ます。詳しくはリンク先のREADMEをどうぞ。 GrnMiniは内部でRroongaを使っているので以下で両方インストールすることが出来ます。 $ gem install grn_mini GrnMiniの実例 Honyomiの内部で使っているデータベース&検索エンジンはGrnM

    国産の全文検索エンジンGroongaはRubyから簡単に使うことが出来る - ブログのおんがえし
  • MariaDB + mroongaで全文検索を実現する環境をdebパッケージで管理するには - Qiita

    もっとgroongaを知ってもらおう!ということで週刊groongaをはじめました。毎週木曜にgroongaやmroonga、rroongaのトピックを投稿予定です。 gihyo.jpさんでgroongaの隔週更新連載が始まっています。第8回の記事も公開されたので、一読をおすすめします。 「第8回 CentOS6でのRPMパッケージを用いた MySQL 5.6 & mroonga & PHP 5.4 環境の作り方」 第1回から第7回までの過去記事については、隔週連載groongaのページを参照してください。 はじめに MySQLで高速に全文検索するためのオープンソースのストレージエンジンとしてmroonga (むるんが)を公開しています。 最新のバージョンは2013年7月29日にリリースした3.06です。 Fedora 19ではMariaDBを採用したことが話題になりましたが、Debian

    MariaDB + mroongaで全文検索を実現する環境をdebパッケージで管理するには - Qiita
  • 数百GiBの全文検索用データベースをMroongaのストレージモードにしてはまったこと - CreateField Blog

    前回は、全文検索Webサービスを作ったときにはまったことの第2回として、 Mroongaのラッパーモードからストレージモードに変えた理由という記事を書きました。 今回は、Mroongaのストレージモードにしたことによってはまったことについて書きたいと思います。 Spiderストレージエンジンを使ったMroongaの分散構成の検討 当初、データベースを複数に分割し、Spiderストレージエンジンを使ってデータベースシャーディングする予定でした。 Spiderストレージエンジンは、ストレージエンジンの種類を問わずデータベースを水平分散させることができるMySQL/Mariadbのストレージエンジンです。 Spiderストレージエンジンは、国産で個人の方が開発されたストレージエンジンでMariaDB10.0系にすでにバンドルされています。 Spiderストレージエンジンの開発者の方は、全文検索M

    数百GiBの全文検索用データベースをMroongaのストレージモードにしてはまったこと - CreateField Blog
  • Mroongaを使って全文検索Webサービスを作ったときにはまったこと(第1回) - CreateField Blog

    前回のエントリに書いたように、1年半ほどをかけて、独学で特許の全文検索サービスを開発しました。 PatentField | 無料特許検索 最初は、MySQLを使ったこともない状態だったこともあり、かなり紆余曲折しました。Groonga開発チームの懇切な対応もあって、専用サーバ1台で最大で1千万レコード超、400GiB以上のサイズのテキストデータを高速に検索できるようになりました。 今後、何回かにわけて、Mroonga(Groonga)を使って全文検索Webサービスを作ったときにはまったこと、学んだことを全て書き出したいと思います。 全文検索エンジンMroongaとは? Mroongaは全文検索エンジンであるGroongaをベースとしたMySQL用のストレージエンジンです。Mroongaは、MySQLが使える人であれば、簡単に高速な全文検索機能が使えます。MariaDB10.0系にもバンドル

    Mroongaを使って全文検索Webサービスを作ったときにはまったこと(第1回) - CreateField Blog
  • Mroongaのラッパーモードからストレージモードに変えた理由 - CreateField Blog

    前回は、全文検索Webサービスを作ったときにはまったことの第1回という記事を書きました。 今回は、Mroongaを使って全文検索Webサービスを作ったときにはまったことの第2回として、ラッパーモードからストレージモードに変えた理由について書きたいと思います。 なお、かなり長く、MySQL、Groongaについて前提知識がないと理解できない部分が多々含まれている可能性があります。 ラッパーモードとは 全文検索Mroongaストレージエンジンでは、全文検索するためにラッパーモードとストレージモードの2つのモードが用意されています。 (引用) ラッパーモードでは全文検索機能のみGroongaの機能を利用し、データストアはInnoDBなど既存のストレージエンジンを利用します。ラッパーモードを利用することにより、ストレージエンジンとして多くの利用実績のあるInnoDBに全文検索エンジンとして実績のあ

    Mroongaのラッパーモードからストレージモードに変えた理由 - CreateField Blog
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

  • Mroongaを選んだ理由と
ちょっと嬉しかった話

    Terui MasashiCloud Architect / Developer at Serverworks Co., Ltd. / Freelance

    Mroongaを選んだ理由と
ちょっと嬉しかった話
  • Rubyで簡単に全文検索エンジンが作れるGrnMiniを作った - ブログのおんがえし

    続きを書きました。 RubyでただのArrayだと思って・・の続きです。正月中に整備してgem化しました。 GrnMini ongaeshi/grn_mini Groonga(Rroonga)を簡単に使えるようにラップしたものです。 カラム指定不要でデータを追加することが出来ます。 永続化、高度な検索クエリ、ソート、グループ化(ドリルダウン)、スニペット、ページネーションなどを簡単に使うことが出来ます。 検索エンジンがすぐに作れます。 インストール $ gem install grn_mini 基的な使い方 実体はRroongaの薄いラッパーですが難しいことを考えずに使えるよう工夫しています。 require 'grn_mini' array = GrnMini::Array.new("test.db") 初めてデータを追加する時にカラム種類を類推して作成します。追加するデータが文字列の

    Rubyで簡単に全文検索エンジンが作れるGrnMiniを作った - ブログのおんがえし
  • groongaからGroongaへ - ドキュメントの表記を一緒に更新しませんか?

    groongaからGroongaへ - ドキュメントの表記を一緒に更新しませんか? リリースアナウンスや、公式ドキュメントをみてもうすでに気づいた人がいるかもしれませんが、Groonga関連のソフトウェアの表記を「Groonga」(先頭が大文字)へ統一する作業をすすめています。 それなりに分量があるので、ドキュメントに散らばっている「groonga」表記の統一をお手伝いしてくれる人を募集します。 詳細は後述する「協力者募集」を参照してください。コードを書かなくてもできることです。 表記の統一について これまでは、日語の文の中や英語の文の途中では「groonga」(先頭も小文字)という表記で、英語の文の先頭では「Groonga」(先頭が大文字)という表記を使ったりしていました。これからは、日語のときでも「Groonga」(先頭が大文字)を使うようにします。 表記の統一の理由について 先頭

    groongaからGroongaへ - ドキュメントの表記を一緒に更新しませんか?
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0063 号 バックナンバー Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist

  • mroongaをXtraDB Clusterで冗長化できそうなメモ | GMOメディア エンジニアブログ

    こんにちは、なんだかんだ言いながら、Galera ReplicationはPerconaによる実装であるXtraDB Clusterを選びたいDBAの田中です。 性能面ではMariaDB Galera Clusterの方が良かったんですが、 発音した時にXtraDB Clusterの方がカッコイイ やはりサービスに使う前提で調べるなら、安定版(MariaDB Galera Clusterは2013/02/28現在でRC版)ですよね! wsrep-sst-method = xtrabackupを前提として使うので、やり方も書いてあるPerconaを選んだというのもあります。 MariaDB Galera Clusterでも同じ手順で出来ると思うのですが、いまいちどうやって呼び出しているのかよく判らなかったので、 名前がカッコイイ xtrabackupが確実に使える方を取ってみました。 さてそ

  • 第6回 [実録] MySQL向け全文検索エンジン「Tritonn」から「mroonga」への移行ガイド(1) | gihyo.jp

    mroongaのN-gramについては、bigramだけでなく、uni-gramやtri-gramの他、多数の派生N-gramでのトークナイザに対応しています。さらに2013年5月末リリースのmysql-mroonga-3.04にて、待望のWプラグマに対応しました。これにより、Tritonnからmroongaへ移行する際の障壁はEプラグマのみになったと言えます。 Tritonnから乗り換えるならば、mroongaの1択ですね。 Tritonnからmroongaへ移行する7つのメリット それでは早速、Tritonnからmroongaヘ移行するメリットを見てみましょう。 MySQL 5.6対応であること もはやレガシーとなったMySQL 5.0という縛りがなくなることで、MySQL 5.1以降の先進的な機能を取り入れることができます。特にMySQL 5.6ではその進化が甚だしく、次の点を始めと

    第6回 [実録] MySQL向け全文検索エンジン「Tritonn」から「mroonga」への移行ガイド(1) | gihyo.jp
  • groongaをRackに載せて全文検索 - 2009-07-31 - ククログ

    Ruby/groongaのサンプルアプリケーションのデモを用意しました。 クリアコードのサイトを「ruby」で検索 RailsなどのWebアプリケーションフレームワークを使うほどのものではないので、ActiveGroongaは使わずに、Ruby/groongaとRackの組み合わせになっています。Rackについてはyharaさんの5分でわかるRackなどを読んでみてください。 デモはPassengerで動かしています。PassengerにRackを設置したことがある人なら10分もかからずにサンプルを動かせるのではないかと思います。 機能 デモを見てもらえばわかる通り、小さなサンプルですが以下のように一通りの機能は備えています。 複数キーワードによる絞り込み スコア順による並べ替え 検索キーワードの正規化(「Ruby」でも「ruby」でも検索可能) キーワード周辺の文章の表示 それぞれ、もう

    groongaをRackに載せて全文検索 - 2009-07-31 - ククログ
  • 第5回 Rubyでサーバ要らずの高速全文検索! - rroongaの紹介 | gihyo.jp

    前回のMilkodeでの事例紹介では、Rubyでrroongaを使ってソースコード検索エンジンを実装している事例を紹介しました。Milkodeは全文検索エンジンを組み込むことにより、大量のファイルに対しても高速な検索を実現しています。rroongaを使った代表的なアプリケーションの1つです。プログラマにとってとても便利なアプリケーションなので、ぜひ使ってみてください。 前回はユーザ視点からのrroongaの紹介でしたが、今回は違った角度から紹介します。rroongaの歴史、大事にしていることについて説明します。 自分のアプリケーションで利用するプロダクトを検討するときに、プロダクトがどのような方向で作られているかを考慮していますか? 自分のアプリケーションが大事にしたいことをそのプロダクトでも大事にしているなら、相性がよいかもしれません。さて、rroongaはあなたが大事にしたいことを大事

    第5回 Rubyでサーバ要らずの高速全文検索! - rroongaの紹介 | gihyo.jp
  • 第4回 rroongaを使ったソースコード検索エンジンMilkode | gihyo.jp

    はじめまして、おんがえしと申します。 今回は私が作っているソースコード検索エンジンのMilkodeにて、rroonga(とその内部で動くgroonga)がどのように使われているのかを紹介します。 Milkodeの検索画面 ソースコードを検索するということ プログラマの仕事はプログラムを書くことですが、同じくらい「検索する」ことは多いのではないでしょうか。 ある関数の名前を変えたいので使っている箇所をすべて見つけたい ライブラリの仕様が変わった。使っているコードはどこだったか? コードリーディング中。今読んでいる関数の実体はどこにあるのか? ベーマガを買ってゲームのプログラムを写経していた頃から時代は進み、WebにアクセスすればゲームやOS、Webアプリなどのソースコードを無料[1]で手に入れることができるようになりました。必要なものをソースコードから検索し、知識として取り込んでいく技術は今

    第4回 rroongaを使ったソースコード検索エンジンMilkode | gihyo.jp
  • 第3回 すべてのMySQLユーザに高速な全文検索機能を! - mroongaの紹介 | gihyo.jp

    前回の地価マップでの事例紹介では、Ruby on Railsからgroongaとmroongaを使って位置情報検索をした事例を紹介しました。Active Recordを拡張して位置情報検索をするためのgemとその使い方も紹介していたので、Ruby on Railsユーザにとって実用的な内容だったのではないでしょうか。 今回は、前回使い方を紹介したmroongaについて、さらに紹介します。前回はmroongaの使い方がでてきましたが、今回は使い方の紹介はしません。その代わり、mroonga自身のことについて紹介します。mroongaの歴史、大事にしていること、さらにどのようなアーキテクチャになっているかについて説明します。 自分のアプリケーションで利用するプロダクトを検討するときに、プロダクトがどのような方向で作られているかを考慮していますか? 自分のアプリケーションが大事にしたいことをその

    第3回 すべてのMySQLユーザに高速な全文検索機能を! - mroongaの紹介 | gihyo.jp
  • 第1回 全文検索エンジンgroongaを紹介します! | gihyo.jp

    今回から始まった隔週連載groongaでは、groongaを使いたくなるような情報を隔週毎にお届けします。 groongaとはGitHubで公開されているオープンソースの全文検索エンジンです。大量にある文書の中から目的のキーワードを持つ文書を高速に見つけることができます。 groongaのロゴ©groongaプロジェクト 第1回目である今回は、この連載についてとgroongaの特徴を紹介します。 この連載について まず、この連載について説明します。 この連載は「読者の皆さんがgroongaを使いたくなる!」ことを目指しています。そのために、次の2点の情報を次回から交互にお届けします。 groongaの利用事例の紹介 利用事例に関連した役立つ情報の紹介 利用事例を紹介することで、「⁠あそこでも使っているなら自分も使ってみようかなぁ」とか「こんな使い方をしているなら自分も使ってみようかなぁ」と

    第1回 全文検索エンジンgroongaを紹介します! | gihyo.jp