LoginSignup
2
2

More than 5 years have passed since last update.

Groonga読書会7で学んだ事のメモ

Posted at

はじめに

この文章は、Groongaドキュメント読書会7で学んだ事のメモです。
元のテキストで分からなかった事を中心に書きました。

4.7.3. カラムインデックスによる関連テーブルをまたぐ検索

本文中のクエリselect Articles --match_columns comment.content --query groonga --output_columns "_id, _score, *"の意味。

  • select Articlesは、Articlesテーブルを検索結果とする。
  • --match-columns comment.contentは、Articles.comment(つまりCommentsテーブル)のcontentカラムをマッチ対象(検索する)カラムとする。
    • この時、CommentテーブルにArticleテーブルへの転置インデックスがある事を確認している。Commentを検索→紐づくArticlesを検索結果とするため。
    • このため、転置インデックス(Comments.article)がないと、Commentを検索した後にArticlesを辿れなくなる。これがドキュメントでいう「Commentsテーブルの'article'カラムインデックスを生成するクエリをコメントアウトすると、意図した検索結果が得られません。」。
  • --query groongaは、 groongaという文字列を検索する。
  • --output_columnsは出力するArticlesテーブルのカラムを指定する。

気づいた事

  • データの状態と検索の動きを理解するためには、図で書かないと分からない。
    • RDBMSだと、そういう時はテーブル定義の絵を書くが、Groongaの場合、実際のデータがどう入っているかを書いた方がイメージしやすい気がした。
  • 参照カラムとインデックスカラムがごっちゃになりやすい。要整理。

用語

  • ポスティングリスト
    • 転置インデックスのkeyに対応する、レコードのリスト。
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2