]> cat aescling's git repositories - mastodon.git/commit
Fix tag search order and not to use tsvector (#3611)
authorunarist <m.unarist@gmail.com>
Tue, 6 Jun 2017 14:07:06 +0000 (23:07 +0900)
committerEugen Rochko <eugen@zeonfederated.com>
Tue, 6 Jun 2017 14:07:06 +0000 (16:07 +0200)
commit004672aa6c482b212e36b9e794d107be456a11da
tree7bde1904fe421f63adb8210179ec8eb458fe16a3
parentad4a28f4f689cc9a37a5c2d5dd8c012e964903b7
Fix tag search order and not to use tsvector (#3611)

* Sort results by the name
* Switch search method to simple `LIKE` matching instead of tsvector/tsquery

Previously we used scores from ts_rank_cd() to sort results, but it didn't work
because the function returns same score for all results. It's not for calculate
similarity of single words. Sometimes this bug even push out exact matching tag
from results.

Additionally, PostgreSQL supports prefix searching with standard btree index.
Using it offers simpler code, but also less index size and some speed.
app/models/tag.rb
db/migrate/20170606113804_change_tag_search_index_to_btree.rb [new file with mode: 0644]
db/schema.rb
spec/models/tag_spec.rb