Open ronny-rentner opened 1 week ago
From the MySQL docs:
MySQL has support for full-text indexing and searching:
A full-text index in MySQL is an index of type FULLTEXT.
Full-text indexes can be used only with [InnoDB](https://dev.mysql.com/doc/refman/8.4/en/innodb-storage-engine.html) or [MyISAM](https://dev.mysql.com/doc/refman/8.4/en/myisam-storage-engine.html) tables, and can be created only for [CHAR](https://dev.mysql.com/doc/refman/8.4/en/char.html), [VARCHAR](https://dev.mysql.com/doc/refman/8.4/en/char.html), or [TEXT](https://dev.mysql.com/doc/refman/8.4/en/blob.html) columns.
https://dev.mysql.com/doc/refman/8.4/en/fulltext-search.html
I am searching for cities using the
search_names
field. I was surprised to find this code:I am using Postgres. My
cities_light_city
table has 18 indexes but none onsearch_names
, the field that is intended for search.It should have an index by default on the search field. The information in settings.py is wrong that MySQL would not support indexes on text fields. The same goes for Postgres which does support indexes on text.