Revert "Revert "add prefix index on tags (#3858)""

This reverts commit 6210c1554c.
This commit is contained in:
Albert Yi 2018-09-13 10:52:04 -07:00
parent 091c4c97a8
commit 7c6ef9f22c
2 changed files with 11 additions and 3 deletions

View File

@ -74,9 +74,9 @@ module TagAutocomplete
n += 2
end
anchors = "^" + query.split("").map {|x| Regexp.escape(x)}.join(".*[#{PREFIX_BOUNDARIES}]")
regexp = "([a-z0-9])[a-z0-9']*($|[^a-z0-9']+)"
Tag
.where("name ~ ?", anchors)
.where('regexp_replace(name, ?, ?, ?) like ?', regexp, '\1', 'g', query.to_escaped_for_sql_like + '%')
.where("post_count > ?", min_post_count)
.where("post_count > 0")
.order("post_count desc")

View File

@ -7128,6 +7128,13 @@ CREATE UNIQUE INDEX index_tags_on_name ON public.tags USING btree (name);
CREATE INDEX index_tags_on_name_pattern ON public.tags USING btree (name text_pattern_ops);
--
-- Name: index_tags_on_name_prefix; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX index_tags_on_name_prefix ON public.tags USING gin (regexp_replace((name)::text, '([a-z0-9])[a-z0-9'']*($|[^a-z0-9'']+)'::text, ''::text, 'g'::text) public.gin_trgm_ops) WHERE (post_count > 0);
--
-- Name: index_tags_on_name_trgm; Type: INDEX; Schema: public; Owner: -
--
@ -7524,6 +7531,7 @@ INSERT INTO "schema_migrations" (version) VALUES
('20180517190048'),
('20180518175154'),
('20180804203201'),
('20180816230604');
('20180816230604'),
('20180912185624');