[groonga-dev, 04673] Re: ERROR: pgroonga: 4097bytes over size varchar isn't supported: 10204

Back to archive index

Kouhei Sutou kou****@clear*****
2018年 9月 27日 (木) 14:13:01 JST


須藤です。

In <11074****@mail*****>
  "[groonga-dev, 04672] ERROR: pgroonga: 4097bytes over size varchar isn't supported: 10204" on Wed, 26 Sep 2018 21:14:14 +0900 (JST),
  <s400t****@yahoo*****> wrote:

> Varchar型のいくつか列名入れてindex作成しようとしたら、上記のエラーが出て、ネット検索で、@ktouさんのツイートで、
> 「デフォルトではvarcharの場合は全文検索用のインデックスではなくて等価・大小比較用のインデックスになるからです。オペレータークラスに https://pgroonga.github.io/ja/reference/#varchar-full-text-search-ops-v2 … を指定すると全文検索用のインデックスになり、長さ制限はなくなります。」
> と書いていますが、解決方法わかりません。
> 順番的に書くと、Extension作成psql -d testdb --command 'CREATE EXTENSION pgroonga'
> 
> した後、CREATE INDEX test_db_index ON test_table USING pgroonga (title, title_kana, author, publisher, note, person_name, place_name pgroonga_varchar_full_text_search_ops_v2);
> したのです。
> それらの列一つ一つは4097バイトより小さいですが、すべて足すと4097バイト超えます。

テーブル定義や実際のデータがないのでわかんないですが、こうじゃ
ないですかねぇ。

CREATE INDEX test_db_index ON test_table USING pgroonga (
  title pgroonga_varchar_full_text_search_ops_v2,
  title_kana pgroonga_varchar_full_text_search_ops_v2,
  author pgroonga_varchar_full_text_search_ops_v2,
  publisher pgroonga_varchar_full_text_search_ops_v2,
  note pgroonga_varchar_full_text_search_ops_v2,
  person_name pgroonga_varchar_full_text_search_ops_v2,
  place_name pgroonga_varchar_full_text_search_ops_v2);


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <https://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
データ処理ツールの開発:
  https://www.clear-code.com/blog/2018/7/11.html




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