[groonga-dev,01368] Re: 記号や半角数字等で構成されたの長い文字列データinsert時のtoo long keyの回避策について

Back to archive index

Kouhei Sutou kou****@clear*****
2013年 5月 3日 (金) 19:07:18 JST


須藤です。

In <CANM+HherUjv66G-KybYKXmMB7_2Eqx+bvWYidZ84Tst2ZUT=dg****@mail*****>
  "[groonga-dev,01366] 記号や半角数字等で構成されたの長い文字列データinsert時のtoo long keyの回避策について" on Fri, 3 May 2013 17:44:40 +0900,
  Naoya Murakami <visio****@gmail*****> wrote:

> 現在、MyISAMで構築したテーブルをラッパーモードのmroongaに変更して
> フルテキストインデックスを構築しようとしています。
> 
> disable keysの後、mroongaに変更し、その後、enable keysした場合に、
> 以下のメッセージで失敗するテーブルが多数発生しました。
> 
> ERROR 1026 (HY000) at line 1: too long key: (11626)
> 
> いくつかwebで検索すると、記号や半角数字等で構成されたの長い文字列データをINSERTする際に、エラーが発生する。
> との記事がいくつか見つかりました。
> 
> そこで、以下のようなレコードを1行insertした場合にも同様に、too long key: (11626)となりました。
> 
> このようなレコードをもつ場合、mroongaを利用することはできないのでしょうか?

いえ、利用できます。

> なんらかの回避方法があれば、ご教示願います。

http://mroonga.org/ja/docs/userguide/wrapper.html#how-to-specify-the-parser-for-full-text-search

ここにあるようにparserを指定します。
指定するparserはTokenBigramSplitSymbolAlphaDigitにしてくださ
い。たとえば、以下のようにします。

  FULLTEXT INDEX (content) COMMENT 'parser "TokenBigramSplitSymbolAlphaDigit"'

これで、例のように半角英数字のみで構成された場合もエラーにな
らないはずです。


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)

groongaサポート:
  http://groonga.org/ja/support/
パッチ採用はじめました:
  http://www.clear-code.com/recruitment/
コミットへのコメントサービスはじめました:
  http://www.clear-code.com/services/commit-comment.html




groonga-dev メーリングリストの案内
Back to archive index