Capacity to call a specific partition from the master on distributed index


#1

I have to dump a long listing of records from sphinx.

let’s say I have a master with 20 partitions
when I call ask 200000 records to the master orderd by id
it sends the query to each partitions which returns at most 200K records to the master and the master sort them to return the first 200K…

after that, I have to do the same query by adding WHERE id > {last_id}

an option is to do “show agent status” to get the list of partitions, and on each partitions, a show tables to get the name of the partition and fetch all needed records partition by partitions…

it works, but for security reason, the access to the individual partitions might be blocked…

It would be interesting to be able to do on the master something like
show partitions;
and
select id, field1, field2 from index_name_001 where id >=0 limit 200000;
select id, field1, field2 from index_name_002 where id >=0 limit 200000;

and need to specify a limit to avoid the error about max_packet_size…

N.B.
I still use an old version of sphinx so maybe there is already something addressing errors of max_packet_size and max_matches…


#2

DESCRIBE statement on distributed index will give you the list of shards (either local or remote).