Проблема Полнотекстовых индексов MySQL

Вы должны предоставить пустой конструктор по умолчанию в вашем классе ключей. Hadoop использует отражение и не может угадать какие-либо параметры для подачи.

Так что просто добавьте конструктор по умолчанию:

public StockKey(){}
29
задан Gowri 20 June 2013 в 06:45
поделиться

3 ответа

Вы используете неправильный тип таблицы. Mysql поддерживает несколько различных типов таблиц, но наиболее часто используются MyISAM и InnoDB. MyISAM (в MySQL 5.6 + также таблицы InnoDB) - это типы таблиц, которые Mysql поддерживает для полнотекстовых индексов.

Чтобы проверить тип вашей таблицы, выполните следующий запрос sql:

SHOW TABLE STATUS

Просматривая результат, возвращаемый запросом, найдите свою таблицу и соответствующее значение в столбце Engine. Если это значение является чем-либо, кроме MyISAM или InnoDB, то Mysql выдаст ошибку, если вы попытаетесь добавить индексы FULLTEXT.

Чтобы исправить это, вы можете использовать запрос sql ниже, чтобы изменить тип движка:

ALTER TABLE <table name> ENGINE = [MYISAM | INNODB]

Дополнительная информация (мысли может быть полезно): Mysql использует различные типы хранилища движка для оптимизации необходимой функциональности определенных таблиц. Пример MyISAM является типом по умолчанию для операционных систем (кроме Windows), быстро преобразует SELECT и INSERT; но не обрабатывает транзакции. InnoDB используется по умолчанию для окон, может использоваться для транзакций. Но InnoDB требует больше дискового пространства на сервере.

55
ответ дан 28 November 2019 в 00:58
поделиться

Вы используете InnoDB? Единственный тип таблиц, поддерживающий FULLTEXT, - это MyISAM.

5
ответ дан 28 November 2019 в 00:58
поделиться

В руководстве mysql сказано, что индексы FULLTEXT могут быть созданы только для таблиц с механизмом mylsam.

7
ответ дан 28 November 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: