My guess would be that your results come from the underlying network activity going on here. A secondary index is held on every node for its own records only. Access to this has to open a network connection to every node (correct me, if I’m wrong). Querying on PK is easier, because the smart client knows which single node to contact for that record due to the underlying DHT-concept.
It’s just a guess but I’ve seen nearly all high performance NoSQL-DBs to be network-bottlenecked. However it would be interesting to know what exactly is to blame for your results. Have you tried increasing the amount of client nodes? What’s the general setup (hardware/software-wise)?
Another approach you could try is to create my LDT’s in a memory-held namespace like a list of all clicks related to a single advertiser or whatever you are modeling (I dislike single, big indices if queries are performed for only a certain subrange like a given customer id or what so ever) before merging the result on the clientside. I’m sure there is a way to model your business case with AS. I’ve seen that they offer a free consulting talk for this, maybe you can talk to the guys who implemented the whole secondary index feature. Just for interest: what kind of OPs/sec did you achieve with secondary indices?