Strange results from partial query strings using startkey and endkey


I’m having a hard time understanding how partial query strings works in Couchbase, maybe it’s a bug.
The results are totally random.

I’m testing through the web interface, using the brewery beers bucket.

Some example I tried:
Return all document starting from 3_fonteinen_brouwerij_ambachtelijke_geuzestekerij, which is the right result.
Then I tried startkey=[“fonteinen”]
I was expecting 0 result, instead I got all records starting from foothills_brewing_company.
What? What’s the rationale behind this?

Then I tried
Which return all docs from zea_rotisserie_and_brewery, seem ok.
But if I do:
I get "No rows can match your key range"
Uh, Why?!
If I call ?inclusive_end=true&startkey=[“zea_”]&endkey=[“zea_”]
The result is :
But if I query ?inclusive_end=true&startkey=[“zea_”]&endkey=[“zea_rotisserie_and_brewery”]

I really can’t make out a pattern from this, and the documentation doesn’t help. Is it a bug?
I am using community edition, version 3.0.1.