django全文搜索mysql

时间:2012-07-08 04:17:10

标签: mysql django

我在django中有默认的User模型,如下所示:

delimiter $$

CREATE TABLE `auth_user` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `username` varchar(30) NOT NULL,
    `first_name` varchar(30) NOT NULL,
    `last_name` varchar(30) NOT NULL,
    `email` varchar(75) NOT NULL,
    `password` varchar(128) NOT NULL,
    `is_staff` tinyint(1) NOT NULL,
    `is_active` tinyint(1) NOT NULL,
    `is_superuser` tinyint(1) NOT NULL,
    `last_login` datetime NOT NULL,
    `date_joined` datetime NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1$$

我尝试按alter table 'auth_user' add fulltext(first_name), last_name, email)添加全文搜索,并且我不断收到错误Error Code: 1214. The used table type doesn't support FULLTEXT indexes。有没有理由不支持全文搜索?我想这可能是因为我扩展了模型并添加了自己的表格?

2 个答案:

答案 0 :(得分:1)

全文索引仅适用于MyISAM表,而您的是InnoDB。 source

答案 1 :(得分:0)

您可能希望使用Django-Sphinx进行全文搜索或查看其实现。 https://github.com/dcramer/django-sphinx