2009-08-25 3 views
1

Я пытаюсь реализовать функцию поиска в таблице базы данных с использованием расширения запроса, и я знаю, что мне нужно добавить индекс FULLTEXT в поля, которые я хочу стать доступными для поиска. Я попытался сделать это и не получил никаких ошибок из PHPMyAdmin, но когда я изучаю структуру таблицы, мощность индекса FULLTEXT равна 0. Я попытался inidividually установить индекс FULLTEXT, и, похоже, он работает, но мой serach возвращает ошибка: Не удается найти индекс FULLTEXT, соответствующий списку столбцовНевозможно присвоить индекс FULLTEXT в моей таблице

Любые идеи, что пошло не так?

ответ

0

мне пришлось добавить индекс по всем полям я хотел бы для поиска и в комбинации Я хотел их искать ...

+1

Не могли бы вы объяснить немного больше? Я работал с FULLTEXT в прошлом, но теперь по какой-то причине я не могу добавить индекс – NaturalBornCamper

0

Попробуйте выполнить ремонт на столе вы добавили их, (пере) строить индексы полнотекстового:

REPAIR table foo 

отметить также, что полный текст будет работать только на VARCHAR или текстовых столбцов. В крайнем случае, я бы попробовал перезапустить MySql.

Следующая страница только о охватывает все:

http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html

Надежда, что помогает.

+0

Это немного помогло ... вместо того, чтобы сказать, что мощность не существует, теперь это говорит 1. Это относится к числу затронутых записей или количеству столбцов, которые теперь имеют этот индекс? Я попробовал повторно проиндексировать их и снова восстановить, но все же просто один из них, и мой сценарий по-прежнему вызывает одно и то же сообщение об ошибке. Так что это отчасти сработало, но не полностью. – user97410

+0

@chibineku - вы используете полный текст для отдельных столбцов? – karim79

+0

Первый запрос, который я сделал, назначил его нескольким - 7, я думаю. С тех пор я использовал PHPMyAdmin, чтобы применить его к отдельным столбцам по очереди. – user97410

0

Проверьте двигатель хранения базы данных. InnoDB не поддерживает индекс FULLTEXT. Измените его на MyISAM