unknown local table(s) in search request

Please help! I am currently using Manticore 6.0.4 in CentOS Linux release 7.
I have plain table,but I can’t search it.It passed sudo indexer --rotate --print-queries --all passed,print

my manticore.conf

When I execute the command, an exception is displayed.

mysql -h0 -P9306 -e “select * from sys_param”

ERROR 1064 (42000) at line 1: unknown local table(s) ‘sys_param’ in search request

I have confirmed that the table indeed does not exist.

What do you think is wrong?

I think what’s wrong is that the id is missing. Please read Manticore Search Manual: Data creation and modification > Adding data from external storages > Fetching from databases > Processing fetched data

Document ID MUST be the very first field, and it MUST BE UNIQUE SIGNED (NON-ZERO) INTEGER NUMBER from -9223372036854775808 to 9223372036854775807.

1 Like

Another problem is that you have data_dir and table at the same time. Please read Manticore Search Manual: Read this first

Thank you, I understand the id is a missing.I can’t get what it means data_dir and table at the same time.I referred to this place:[Manticore Search Manual: Creating a table > Local tables > Plain table]

Please show me what the correct steps for creating plain should be.

Do I need to remove data_dir from the conf?

  1. Stop Manticore
  2. Remove all from /var/lib/manticore/ as probably you ran indexer not under manticore as said in the docs and you have a permissions issue as well. If not or you have amythinhg valuable in /var/lib/manticore/ - don’t remove it.
  3. remove data_dir from the section searchd of your config.
  4. Fix sql_query in the config, so the first column is id
  5. Run sudo -u manticore indexer --all
  6. Start Manticore

Afterwards you should be able to run sudo -u manticore indexer --all --rotate without the need to stop/start Manticore.

1 Like