Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    yheuhtozr
    @yheuhtozr
    cached_organizationの元の型はtextです。その中にYAMLでシリアライズしたオブジェクトを書き込んでいるようです。
    yheuhtozr
    @yheuhtozr
    たびたびすみません。weightsの数字は相対的という理解でよいのでしょうか。
    例えば今のsetweight()A,B,C,D,D,Dを置き換えるとARRAY[4,3,2,1,1,1](?)で、これを例えばARRAY[10,5,2,1,1,1]としたとしても結果は変わらないでしょうか。
    yheuhtozr
    @yheuhtozr

    昨日夜にお送りした件↑、よく睡眠を取って考えたところ、普通に以下のようにすればいいのではないかと思い至りました。

    ... (body_markdown, title pgroonga_varchar_full_text_search_ops_v2, cached_tag_list pgroonga_varchar_full_text_search_ops_v2, cached_user_name pgroonga_varchar_full_text_search_ops_v2, cached_user_username pgroonga_varchar_full_text_search_ops_v2, array_to_string(regexp_match(cached_organization, 'name: (.*)$', 'n'), ' '))

    Railsにすると

    add_index :articles, "title pgroonga_varchar_full_text_search_ops_v2, cached_tag_list pgroonga_varchar_full_text_search_ops_v2, body_markdown, cached_user_name pgroonga_varchar_full_text_search_ops_v2, cached_user_username pgroonga_varchar_full_text_search_ops_v2, array_to_string(regexp_match(cached_organization, 'name: (.*)$', 'n'), ' ')", using: "pgroonga", name: :index_articles_full_text

    以上で特に問題ないでしょうか。

    また、現行のコードのほかの箇所を見ていたところ、以下のような検索の指定がありました

      pg_search_scope :search_comments,
                      against: %i[body_markdown],
                      using: {
                        tsearch: {
                          prefix: true,
                          highlight: {
                            StartSel: "<mark>",
                            StopSel: "</mark>",
                            MaxFragments: 2
                          }
                        }
                      }

    このhighlightという部分は、pgroonga_highlight_html()で置き換えられるのではないかと思いましたが、
    その場合囲むタグを<mark>...</mark>に変える設定はあるのでしょうか。ドキュメントを読んだつもりですが見つけられませんでした。

    Horimoto Yasuhiro
    @komainu8

    CREATE INDEX に指定するのは、カラム名なので、

    ... (body_markdown, title pgroonga_varchar_full_text_search_ops_v2, cached_tag_list pgroonga_varchar_full_text_search_ops_v2, cached_user_name pgroonga_varchar_full_text_search_ops_v2, cached_user_username pgroonga_varchar_full_text_search_ops_v2, array_to_string(regexp_match(cached_organization, 'name: (.*)$', 'n'), ' '))

    だと、エラーになる気がします。(cached_organizationを指定しないといけないと思います。)

    PGroongaレベルだとぐるーぷ名だけを取り出して結果を表示させるのは難しいです。
    正規表現を使った検索条件を作ることはできるので、 name:のところがぐるーぷ名となっているレコードをヒットさせることはできますが
    そこから、ぐるーぷ名だけを取り出して結果表示させるのは、PGroongaレベルでは難しいと思います。
    一応以下のような形にすれば、できるのですが、これだと、SQLではなくて、PGroongaのバックエンドで動いている
    Groongaに直接クエリーを投げる形になるので、扱いにくいですし、Groongaのクエリー構文を理解しないといけないので
    使うのも難しいと思います。また、結果がJSONになるのも扱いにくいと思いますので、おすすめしないです。
    なので、現状では、アプリケーションのレベルで加工するのが良いと思います。
    SELECT pgroonga_command('plugin_register functions/string');
    
    SELECT jsonb_pretty(
      pgroonga_command(
        'select',
        ARRAY[
          'table', pgroonga_table_name('pgroonga_content_index'),
          'match_columns', 'content',
          'query', 'PostgreSQL',
          'output_columns', 'string_slice(cached_organization, "name: (.*?)$", 1)'
        ]
      )::jsonb
    );
    Sutou Kouhei
    @kou
    式インデックスは動くと思いますよ。
    pgroonga_highlight_html()<span class="keyword">...</span>は固定です。
    CSSをこれに合わせて変更するか、返ってきた文字列をhighlighted_body_markdown.gsub(/<span class="keyword">/, "<mark">).gsub(/<\/span>/, "</mark>")してください。
    Horimoto Yasuhiro
    @komainu8
    あぁ。そうですね。失礼しました。ありがとうございます。式インデックスが動くので、 https://gitter.im/groonga/ja?at=611cbf638fc359158c77fb8f の方法でも問題ないと思います。
    Horimoto Yasuhiro
    @komainu8
    unaccent相当の正規化を行うものは、現状PGroongaにはないです。
    Horimoto Yasuhiro
    @komainu8

    たびたびすみません。weightsの数字は相対的という理解でよいのでしょうか。
    例えば今のsetweight()A,B,C,D,D,Dを置き換えるとARRAY[4,3,2,1,1,1](?)で、これを例えばARRAY[10,5,2,1,1,1]としたとしても結果は変わらないでしょうか。

    場合によっては変わると思います。

    PGroongaには、検索キーワードにどのくらい適合しているかをscoreという値で管理しています。
    このscoreが高ければ、検索キーワードによりマッチしたレコードであると判断できます。

    ↑のweightsの値は、そのscoreの値を調整するもので、
    例えば、

    WHERE
      ARRAY[title, cached_tag_list, body_markdown, cached_user_name, cached_user_username]
      &@~
      ('Groonga', ARRAY[10,5,2,1,1], index_name)::pgroonga_full_text_search_condition
    ;

    なら、titleカラムに検索キーワードGroongaを含むレコードのスコアーを10倍します。
    cached_tag_listGroongaが見つかったら、スコアーを5倍、
    body_markdownなら2倍、その他は1倍。となり、より重要度の高い設定をしたカラムで
    検索キーワードが見つかるとスコアーも高くなるように設定しています。
    なので、設定する値を変更すると、スコアーの値も変化するので、結果の順序が変化する可能性があります。

    scoreの値を確認したり、scoreの値でソートしたりするには、以下のようにします。

    SELECT *, pgroonga_score(tableoid, ctid) AS score
    FROM xxx
    WHERE
      ARRAY[title, cached_tag_list, body_markdown, cached_user_name, cached_user_username]
      &@~
      ('Groonga', ARRAY[10,5,2,1,1], index_name)::pgroonga_full_text_search_condition
    ORDER BY score DESC
    ;

    https://pgroonga.github.io/ja/reference/operators/query-v2.html
    「pgroonga_score関数を使うと、」という記載のあたりにも例がありますので、そちらも参照いただければと思います。

    yheuhtozr
    @yheuhtozr
    皆様ありがとうございます。大変勉強になります。
    インデックスについては、ひとまず一般機能でなんとかなりそうで安心しています。Groongaに直接問い合わせる方法も最後の手段として勉強しておきたいと思います。
    unaccenthighlightは、必要であれば泥臭くやっていこうと思います。
    weightの件、詳細な解説ありがとうございます。文字通り数字のカウントなんですね。元のsetweight()とはかなり仕様が違うっぽいので、ちょっと(setweight()の方を)調べてみます。
    Sutou Kouhei
    @kou
    unaccenthttps://github.com/groonga/groonga-normalizer-mysql を使うとÀÁÂÃÄÅくらいまでは同じ挙動になりますが、Æはちがくなりますね。。。
    groonga-normalizer-mysqlはアクセント以外にも正規化するので完全な置き換えにはなりませんが。。。
    yheuhtozr
    @yheuhtozr

    情報ありがとうございます。unaccentの実装 https://github.com/postgres/postgres/blob/master/contrib/unaccent/unaccent.rules を見てみましたが、ややクセのある変換テーブルですね。このあたりは実装の選択肢が多そうなのでやっぱりじっくり検討していきたいと思います。

    アクセントを取る話ではないのですが、NormalizerAuto NormalizerNFKC100 NormalizerNFKC51 はオプション以外に機能の違いがあるのでしょうか。Unicodeのバージョンが上がるにつれ対応する文字が増えるのだと思いますが、その場合どれが一番新しいことになるのでしょうか。

    Sutou Kouhei
    @kou
    NormalizerNFKC130です。
    今のUnicodeの最新バージョンが13.0でNormalizerNFKC130は13.0ベースです。
    完全に同じ挙動にしたかったら式インデックスでunaccentを使って、PGroongaのノーマライザーを無効にするのがいいとは思います。
    が、それが一番よい結果を返すかと言ったら。。。入っているデータにも依りますが多くの場合はそんなことはないんじゃないかと思います。
    (PGroongaのノーマライザーを使ったほうがよい結果になることが多い気はします。)
    yheuhtozr
    @yheuhtozr
    13.0版があったんですね、確かにリリースノートに書いてありました。教えていただいてありがとうございます。
    ドキュメントから把握しかねたのですが、標準添付のノーマライザーはデフォルトではcase foldingとNFKCだけを行うという認識で合っていますでしょうか。(normalizer-mysql内のものだけがアクセントなどの除去を行う機能があるという)
    yheuhtozr
    @yheuhtozr
    現在unaccentへの準拠が要件であるわけではなく、それに類する機能が「あれば便利」みたいな感覚なので、もし手軽にできそうであれば試してみたり、あるいは仕様が具体化してから少し勉強してプラグインを作るなり考えるという程度です
    Horimoto Yasuhiro
    @komainu8
    そうですね。組み込みのノーマライザー(NormalizerAuto、NormalizerNFKCXXX)は、オプションなしの状態では、case foldingとNFKCを行います。Unicodeの場合は、NFKCですが、それ以外のエンコーディングの場合は独自に正規化しています。ただ、結果はNFKCで正規化したものと同じような結果になるようにしています。
    normalizer-mysql はMySQL互換のノーマライザーなので、組み込みのノーマライザーとは毛色が違っていて、utf8mb4_general_ciutf8mb4_unicode_ciと同じような正規化を行います。
    yheuhtozr
    @yheuhtozr
    おかげさまで無事PGroongaを組み込めました。ありがとうございます。
    現在、pgroonga拡張を有効にした状態でマイグレーションを走らせるたびに以下のようなメッセージが出るのですが、何かご存じでしょうか。
    psql (13.3 (Ubuntu 13.3-1.pgdg20.04+1))
    rails (6.1.4.1)
    です
    Dumping schema
    unknown OID 24: failed to recognize type of 'aggfnoid'. It will be treated as String.
    unknown OID 194: failed to recognize type of 'adbin'. It will be treated as String.
    unknown OID 1034: failed to recognize type of 'attacl'. It will be treated as String.
    unknown OID 2277: failed to recognize type of 'attmissingval'. It will be treated as String.
    unknown OID 28: failed to recognize type of 'relfrozenxid'. It will be treated as String.
    unknown OID 3361: failed to recognize type of 'stxdndistinct'. It will be treated as String.
    unknown OID 3402: failed to recognize type of 'stxddependencies'. It will be treated as String.
    unknown OID 5017: failed to recognize type of 'stxdmcv'. It will be treated as String.
    unknown OID 3220: failed to recognize type of 'srsublsn'. It will be treated as String.
    Horimoto Yasuhiro
    @komainu8
    PostgreSQLの型に対応するRailsの型(?)オブジェクト(?)が無いのでPostgreSQLにある上記のカラムの値をStringとして扱う。ということだと思います。RailsがサポートしているPostgreSQLの型は https://github.com/rails/rails/blob/main/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L498 で定義されていると思うのですが、ここに上記のカラムの型が無いので警告が出ていると思います。上記のカラムはPostgreSQLのシステムカタログ(テーブルや列の情報などのスキーマメタデータと内部的な情報を格納する場所)のカラムで、アプリケーションがいじるテーブルではないので、これらの警告がでても影響はない気がします。
    Horimoto Yasuhiro
    @komainu8

    Groonga 11.0.6をリリースしたので、
    今回のリリースの変更点を自慢する会を実施します!

    Youtube Live で以下の日時に配信しますので、Groongaのリリースが気になる方、
    リリースに関係なくGroonga関連の情報収集したい方はぜひ視聴してみてください。

    日時: 2021/9/6(月) 14:00 - 15:00(予定)
    https://youtu.be/PjzRBvW9Jvc

    Groongaだけでなく、Mroongaのリリース内容も自慢しますので、ぜひ視聴してみてください!

    なかまつ
    @tkya03_twitter

    質問がございます!
    公式のインストール方法(Amazon Linux2)を拝見しました。

    手順に記載のあるパッケージに postgresql10-pgroongaと記載があるのですが、
    Amazon Linux2にはpostgresql ver13対応してないのでしょうか?

    https://pgroonga.github.io/ja/install/amazon-linux.html

    もし、postgresql ver13に対応したインストール方法が別にあるようでしたら、ご教示いただけますと幸いですm( )m
    Sutou Kouhei
    @kou
    Amazon Linux 2用のPostgreSQL 13のパッケージってどこかにありましたっけ!?
    Horimoto Yasuhiro
    @komainu8

    Groonga 11.0.7をリリースしたので、
    今回のリリースの変更点を自慢する会を実施します!

    Youtube Live で以下の日時に配信しますので、Groongaのリリースが気になる方、
    リリースに関係なくGroonga関連の情報収集したい方はぜひ視聴してみてください。

    リリース自慢会は、基本的にリリース日の翌週の火曜日の14:00から実施します。
    今月は9/29(水)にリリースしたので、10/5(火)に実施します。

    日時: 2021/10/5(火) 14:00 - 15:00(予定)
    https://youtu.be/YlYVSKeSJaU

    Groongaだけでなく、Mroongaのリリース内容も自慢しますので、ぜひ視聴してみてください!

    higchi
    @higchi
    TABLE_HASH_KEY UInt32で作ったテーブルに
    --filter "_key==2182189059"
    で検索をかけると出てこないんですが、何かの制限に引っかかってますか?
    Int32は越えてて、UInt32の範囲内でも KEY_LARGE が必要でしょうか。
    Horimoto Yasuhiro
    @komainu8
    うまくいかなかった時のテーブルとクエリーと実行結果を教えていただけますか?
    higchi
    @higchi

    カラム無しの最小構成で色々試したら、最新バージョン11.0.9で解決しました。
    問題が起きたのは11.0.3でした。

    それで更新してるんですがDebian 11でエラーになります。
    apt-get update
    apt-get upgrade
    取得:1 https://packages.groonga.org/debian bullseye/main amd64 groonga-server-common all 11.0.9-1 [8,844 B]
    エラー:1 https://packages.groonga.org/debian bullseye/main amd64 groonga-server-common all 11.0.9-1
    File has unexpected size (8888 != 8844). Mirror sync in progress? [IP: 153.126.209.250 443]
    Hashes of expected file:

    • SHA512:e44a67252aa8f07565b30baee049089c7b3cd9e3aac75a23caee26e3c3075495a970bd22312c43e2ad1eeacab6e5c7f33acf7bc6a4ae7de6984c8760d279baa0
    • SHA256:d219fb503032ef23cf39afdcc5482792882c06b54ad5aab71ef77730586403b3
    • SHA1:e5f700a7256061ba33976d4db278a769e77a0526 [weak]
    • MD5Sum:bb948138014a3cf1761590b7c5218e88 [weak]
    • Filesize:8844 [weak]
      この後groonga-docも同様にエラーが出ます。
    Horimoto Yasuhiro
    @komainu8
    @higchi Groongaのリポジトリーを直しました。もう一回 apt-get update してから、 apt-upgrade してみてください。
    higchi
    @higchi
    更新できました。修正ありがとうございます。
    Horimoto Yasuhiro
    @komainu8
    よかったです。
    Horimoto Yasuhiro
    @komainu8

    Groonga 11.1.0をリリースしたので、
    今回のリリースの変更点を自慢する会を実施します!

    Youtube Live で以下の日時に配信しますので、Groongaのリリースが気になる方、
    リリースに関係なくGroonga関連の情報収集したい方はぜひ視聴してみてください。

    リリース自慢会は、基本的にリリース日の翌週の火曜日の14:00から実施します。
    今月は11/29(月)にリリースしたので、12/7(火)に実施します。

    日時: 2021/12/7(火) 14:00 - 15:00(予定)
    URL: https://youtu.be/AaN9NIsk2F0

    質疑は、Youtube Liveのチャット機能を使って実施しますので、
    疑問点があった場合は、気軽にチャットに書き込んでください!

    Groongaだけでなく、Mroongaのリリース内容も自慢しますので、ぜひ視聴してみてください!

    shibanao4870
    @shibanao4870

    初めまして。お世話になります。
    確認させてください。

    https://packages.groonga.org/almalinux/8/x86_64/Packages/
    ↑の中に、mariadb用の
    mariadb-10.3-mroonga
    などが見当たりません。

    mysqlやperconaの8.0用は存在しています。

    これは私の認識が間違っていますでしょうか。
    よろしくお願いいたします。

    Horimoto Yasuhiro
    @komainu8
    すみません。。。アップロードできてないですね。。。今月末にMroonga11.11をリリース予定なので、その時にアップロードしておきます。ご報告ありがとうございます!
    shibanao4870
    @shibanao4870
    ご確認いただきありがとうございます。
    お待ちしております!
    Horimoto Yasuhiro
    @komainu8
    @shibanao4870 おまたせしました。 https://packages.groonga.org/almalinux/8/x86_64/Packages/ にMariaDB向けのパッケージをアップロードしました!
    shibanao4870
    @shibanao4870
    目視で確認いたしました。
    アップロードありがとうございます!
    時間が取れ次第、インストールしてみます!
    Horimoto Yasuhiro
    @komainu8

    Groonga 11.1.1をリリースしたので、
    今回のリリースの変更点を自慢する会を実施します!

    Youtube Live で以下の日時に配信します。Groongaの自慢会とかいてありますが、
    Mroonga 11.11のリリース内容も自慢しますので、Groonga/Mroongaのリリースが気になる方、
    リリースに関係なくGroonga/Mroonga関連の情報収集したい方はぜひ視聴してみてください!

    日時: 2022/1/11(火) 14:00 - 15:00(予定)
    URL: https://youtu.be/YpyKanUkseQ

    質疑は、Youtube Liveのチャット機能を使って実施しますので、
    疑問点があった場合は、気軽にチャットに書き込んでください!

    shibanao4870
    @shibanao4870

    お世話になります。
    無事インストールできているのですが、その後、
    dnf upgrade
    などを行うと、以下のようになりました。

    エラー:
     問題: パッケージ groonga-libs-11.1.1-1.el8.x86_64 には arrow-libs = 6.0.0 が必 要ですが、どのプロバイダーからもインストールできません
      - arrow-libs-6.0.1-1.el8.x86_64 と arrow-libs-6.0.0-1.el8.x86_64 どちらもイン ストールできません
      - パッケージの最良アップデート候補をインストールできません groonga-libs-11.1.1-1.el8.x86_64
      - パッケージの最良アップデート候補をインストールできません arrow-libs-6.0.0-1.el8.x86_64
    (競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加し てみてください または、'--skip-broken' を追加して、インストール不可のパッケージ をスキップしてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)

    次回アップデート時など、確認いただけますでしょうか。
    よろしくお願いいたします。

    Sutou Kouhei
    @kou
    groonga/groonga#1316 と同じ現象だと思います!
    groonga/groonga#1298 で解消されると思うので今月のリリースを待っていてください!
    (↑でよくなりはするんですが、Apache Arrowのメジャーバージョンアップには対応できないので、今後は、Apache ArrowがリリースされたらGroongaのパッケージもリビルドがいいんじゃないかなぁとは思っています。)
    shibanao4870
    @shibanao4870
    お世話になります。
    なるほど、解消に向けて動かれていたのですね。
    不意なバージョンアップ、もどかしいところです。
    お手数おかけしました!お待ちしております。
    Horimoto Yasuhiro
    @komainu8

    Groonga 12.0.0を2/9(水)にリリースする予定なので、
    リリースの変更点を自慢する会を実施します!
    今回はメジャーバージョンアップなので、昨年1年間のハイライトをお送りします!

    Youtube Live で以下の日時に配信します。Groongaの自慢会とかいてありますが、
    Mroonga のリリース内容も自慢しますので、Groonga/Mroongaのリリースが気になる方、
    リリースに関係なくGroonga/Mroonga関連の情報収集したい方はぜひ視聴してみてください!

    日時: 2022/2/08(火) 15:00 - 16:00(予定)(いつもと時間が違うので注意してください!)
    URL: https://youtu.be/XZNT8Br-_90

    質疑は、Youtube Liveのチャット機能を使って実施しますので、
    疑問点があった場合は、気軽にチャットに書き込んでください!

    Horimoto Yasuhiro
    @komainu8

    Groonga 12.0.1を2/28(月)にリリースしたので、変更点を自慢する会を実施します!

    Youtube Live で以下の日時に配信します。
    Groongaのリリースが気になる方、リリースに関係なくGroonga関連の情報収集したい方は
    ぜひ視聴してみてください!

    日時: 2022/3/10(木) 14:00 - 15:00(予定)
    URL: https://youtu.be/6xSkvPnQOU0

    質疑は、Youtube Liveのチャット機能を使って実施しますので、
    疑問点があった場合は、気軽にチャットに書き込んでください!

    Horimoto Yasuhiro
    @komainu8

    Groonga 12.0.2を3/29(火)にリリースする予定なので、変更点を自慢する会を
    以下の日時で実施します!(先月までと時間が違うので注意してください!)

    日時:2022/3/29(火) 12:15 - 12:45

    Groonga関連のイベントはConnpassを使うことにしました。
    そのため、今回から、リリース自慢会もConnpassから申し込んでください。

    申し込まなくても視聴できますが、Connpassで申し込んでいただいた方が、
    リマインドやお知らせなどを参加者のみなさんに有用な情報を送信できるので
    おすすめです。

    やり方は先月までと同様、Youtube Live での配信です。
    日時、URLは以下のConnpassのイベントページでも確認できます!

    https://groonga.connpass.com/event/243301/

    Groongaのリリースが気になる方、リリースに関係なくGroonga関連の情報収集したい方は
    ぜひ視聴してみてください!

    質疑は、Youtube Liveのチャット機能を使って実施しますので、
    疑問点があった場合は、気軽にチャットで質問できます!

    以上です。

    Horimoto Yasuhiro
    @komainu8

    2022年4月から毎週火曜日の12:15-12:45にGroongaの技術的な話をGroonga開発者に直接聞ける
    「Groonga開発者に聞け!(グルカイ!)」というYouTube Liveを始めます!

    一回目は、 4/5(火) 12:15 - 12:45 に実施します!

    以下のイベントページから登録してください!
    (登録しなくても視聴は可能です。)

    https://groonga.connpass.com/event/244109/

    以上です!

    Horimoto Yasuhiro
    @komainu8

    2022年4月から毎週火曜日の12:15-12:45にGroongaの技術的な話をGroonga開発者に直接聞ける「Groonga開発者に聞け!(グルカイ!)」を始めました! 二回目は、 4/12(火) 12:15 - 12:45 です! 興味のある方は、以下のイベントページから登録してください! (登録しなくても視聴は可能です。)
    https://groonga.connpass.com/event/244562/

    配信済みのグルカイ!は、 https://www.youtube.com/playlist?list=PLLwHraQ4jf7PBol9aq5BoaM2Hnk6aCKs2 でいつでも視聴できます!

    Horimoto Yasuhiro
    @komainu8
    2022年4月から毎週火曜日の12:15-12:45にGroongaの技術的な話をGroonga開発者に直接聞ける「Groonga開発者に聞け!(グルカイ!)」を始めました! 三回目は、 4/19(火) 12:15 - 12:45 です! 興味のある方は、以下のイベントページから登録してください! (登録しなくても視聴は可能です。)
    https://groonga.connpass.com/event/245271/
    配信済みのグルカイ!は、 https://www.youtube.com/playlist?list=PLLwHraQ4jf7PBol9aq5BoaM2Hnk6aCKs2 でいつでも視聴できます!
    Horimoto Yasuhiro
    @komainu8

    2022年4月から毎週火曜日の12:15-12:45にGroongaの技術的な話をGroonga開発者に直接聞ける
    「Groonga開発者に聞け!(グルカイ!)」というYouTube Liveを始めました!

    四回目は、 4/26(火) 12:15 - 12:45 です!
    興味のある方は是非、以下のイベントページから登録してください! (登録しなくても視聴は可能です。)
    https://groonga.connpass.com/event/245898/

    なお、配信済みのグルカイ!は、以下のURLでいつでも視聴できます!
    https://www.youtube.com/playlist?list=PLLwHraQ4jf7PBol9aq5BoaM2Hnk6aCKs2

    第二回と第三回は同一のテーマですので、第二回と第三回はセットでの視聴をおすすめします。
    第二回と第三回は、Groongaがポスティングリストをどのように格納しているかについて解説しています。

    以上です!