タグ

ブックマーク / qiita.com/naoa (4)

  • Mroongaで全文検索以外でGroongaのノーマライザーを使う方法 - Qiita

    Groonga Advent Calendar 2015の18日目の記事です。 こちらの記事では全文検索以外の一致検索ではGroongaのカスタムノーマライザー使えなくて困りましたねということを記載しました。 今回はその解決方法の例を紹介します。 mroonga_normalize mroonga_normalizeというUDFを作成してマージしてもらいました。たぶん、Mroonga5.11から利用できるとおもいます。 これは文字列をGroongaのノーマライザーを使って正規化する関数です。 DROP TABLE tags; CREATE TABLE IF NOT EXISTS tags ( tag varchar(255) NOT NULL, text varchar(1000) NOT NULL, FULLTEXT KEY text (text) COMMENT 'normalizer

    Mroongaで全文検索以外でGroongaのノーマライザーを使う方法 - Qiita
  • ハードウェア性能に応じたMroonga/Groongaの全文検索性能について - Qiita

    はじめに 全文検索エンジンMroonga/Groongaでは、主に以下の点が全文検索性能に影響すると思われます。 検索がインデックスアクセスのみであるか否か Mroongaでは、特定の条件下において、複数インデックスを用いて全文検索することができます。(参考:MroongaによりMySQLで複数インデックスを有効に全文検索する方法) Groongaでは、ある程度自由に複数インデックスを用いて全文検索することができます。(インデックスが使われないケースを特定する方法は今のところわかりません。) 語句の出現頻度が非常に高いかどうか Ngramのサイズに応じたMroonga/Groongaの全文検索性能について、Mroonga/GroongaのMeCabトークナイザの全文検索性能についてに示したように、語句の出現頻度が非常に高いと検索性能が劣化します。 検索結果のレコード件数が非常に多いかどうか

    ハードウェア性能に応じたMroonga/Groongaの全文検索性能について - Qiita
  • Mroonga/GroongaのMeCabトークナイザの全文検索性能について - Qiita

    はじめに Mroonga/Groongaでは、トークナイザにより文章が分割されて、分割されたトークン(語句)で転置インデックスが作成されます。 Mroonga/Groongaでは、様々な環境に柔軟に対応できるよう、多数のトークナイザが用意されています。 トークナイザの種別に応じて、分割ルールが異なり、転置インデックスの語句のサイズや、種別数および出現回数が異なります。 Ngramのサイズに応じたMroonga/Groongaの全文検索性能についてでは、NgramのNのサイズが大きいほど、良好な検索性能が得られることが判りました。特にTokenUnigramでは、顕著に検索性能が劣化しました。 MeCabトークナイザでは、形態素解析用辞書に応じて、様々なサイズで文章が分かち書きされます。たとえば、「今日は雨です。」という文章は、「今日/は/雨/です/。」と、分かち書きされます。「は」等の助詞

    Mroonga/GroongaのMeCabトークナイザの全文検索性能について - Qiita
  • Mroongaにおける様々なレコード件数カウント方法とパフォーマンスについて - Qiita

    はじめに MySQLで高速に全文検索するためのオープンソースのストレージエンジンMroongaでは、テーブルのレコード件数をカウントする方法がいくつかあります。 これらの方法のパフォーマンスの違いを簡単に比較してみます。 テストデータ yearカラムに2001~2010を合計10,000,000件(1,000万件)セット textカラムは空白 CREATE TABLE IF NOT EXISTS `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `year` int(11) NOT NULL, `text` text NOT NULL, PRIMARY KEY (`id`), KEY `year` (`year`), FULLTEXT INDEX `text` (`text`) ) ENGINE=mroonga DEFAULT CHARSET=u

    Mroongaにおける様々なレコード件数カウント方法とパフォーマンスについて - Qiita
  • 1