I’m looking into switching from Sphinx to Manticore. I am using RT indexes on Windows (later Centos).
If I define the RT indexes using the CREATE method instead of in the manticore.conf file, where do I specify attributes like charset_table and rt_mem_limit for each index? Normally, I’d put those in the .conf file along with the index definition.
after: MySQL [(none)]> ALTER TABLE news_rt rt_mem_limit='512M';
I’ve got an error: ERROR 1064 (42000): sphinxql: syntax error, unexpected TEXT, expecting IDENT or TYPE near 'text text indexed ) min_infix_len='2' ignore_chars='U+0027, U+02BC, U+2019''
Never mind. I’ve reproduced it in the latest version:
MRE
mysql> drop table if exists t; create table t(`text` text); desc t; alter table t rt_mem_limit='512M';
--------------
drop table if exists t
--------------
Query OK, 0 rows affected (0.01 sec)
--------------
create table t(`text` text)
--------------
Query OK, 0 rows affected (0.00 sec)
--------------
desc t
--------------
+-------+--------+----------------+
| Field | Type | Properties |
+-------+--------+----------------+
| id | bigint | |
| text | text | indexed stored |
+-------+--------+----------------+
2 rows in set (0.00 sec)
--------------
alter table t rt_mem_limit='512M'
--------------
ERROR 1064 (42000): sphinxql: syntax error, unexpected TEXT, expecting IDENT or TYPE near 'text text
)'
The workaround is to NOT use the reserved word text as a field name. I’ll speak to developers to see if there’s anything we can do, so it doesn’t break ALTER.