Skip to content
Snippets Groups Projects

codeintel: add missing API docs FTS indexes (use GIN, not btree)

Merged Warren Gifford requested to merge sg/apidocs-missing-indexes into main

Created by: slimsag

I totally typo'd the indexes here and made these btree, not GIN, by accident. GIN indexes are FAR better at indexing tsvector columns / queries.

Before merging, I will execute the nearly identical, but CONCURRENT, commands on Sourcegraph.com's codeintel-db directly. I have tested on a clone of prod's codeintel-db, and each CREATE INDEX statement (without CONCURRENT) takes ~24m to complete.

Other deployments should be fine, as they do not have any data in these tables at present.

DROP INDEX IF EXISTS lsif_data_docs_search_public_search_key_tsv_idx;
DROP INDEX IF EXISTS lsif_data_docs_search_public_search_key_reverse_tsv_idx;
DROP INDEX IF EXISTS lsif_data_docs_search_public_label_tsv_idx;
DROP INDEX IF EXISTS lsif_data_docs_search_public_label_reverse_tsv_idx;

DROP INDEX IF EXISTS lsif_data_docs_search_private_search_key_tsv_idx;
DROP INDEX IF EXISTS lsif_data_docs_search_private_search_key_reverse_tsv_idx;
DROP INDEX IF EXISTS lsif_data_docs_search_private_label_tsv_idx;
DROP INDEX IF EXISTS lsif_data_docs_search_private_label_reverse_tsv_idx;

CREATE INDEX IF NOT EXISTS lsif_data_docs_search_public_search_key_tsv_idx ON lsif_data_docs_search_public USING GIN (search_key_tsv);
CREATE INDEX IF NOT EXISTS lsif_data_docs_search_public_search_key_reverse_tsv_idx ON lsif_data_docs_search_public USING GIN (search_key_reverse_tsv);
CREATE INDEX IF NOT EXISTS lsif_data_docs_search_public_label_tsv_idx ON lsif_data_docs_search_public USING GIN (label_tsv);
CREATE INDEX IF NOT EXISTS lsif_data_docs_search_public_label_reverse_tsv_idx ON lsif_data_docs_search_public USING GIN (label_reverse_tsv);

CREATE INDEX CONCURRENTLY IF NOT EXISTS lsif_data_docs_search_private_search_key_tsv_idx ON lsif_data_docs_search_private USING GIN (search_key_tsv);
CREATE INDEX CONCURRENTLY IF NOT EXISTS lsif_data_docs_search_private_search_key_reverse_tsv_idx ON lsif_data_docs_search_private USING GIN (search_key_reverse_tsv);
CREATE INDEX CONCURRENTLY IF NOT EXISTS lsif_data_docs_search_private_label_tsv_idx ON lsif_data_docs_search_private USING GIN (label_tsv);
CREATE INDEX CONCURRENTLY IF NOT EXISTS lsif_data_docs_search_private_label_reverse_tsv_idx ON lsif_data_docs_search_private USING GIN (label_reverse_tsv);

Signed-off-by: Stephen Gutekanst stephen@sourcegraph.com

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading