AFAIK, you're describing a CouchDB limitation. You may need to use CouchDB-Lucene to get your answers. CouchDB views match keys in an index. You can match a prefix, but not a tail. And you can't deal with case sensitivity. You might be able to generate a view in which you reverse the chars of your location and then match in reverse order (i.e. turning the problem into a prefix). I think trying to coerce Couch to do that is nutty. Just use CouchDB-Lucene.
On Feb 12, 2014, at 2:35 PM, Tito Ciuro <[email protected]> wrote: > Hello, > > I have a database with documents with the following format: > > { > "_id" : "12345", > "location" : <some_city>.<some town> > } > > I have values like: > > California.San Francisco > California.Los Angeles > Florida.Miami > ... > ... > > What I'm trying to do is to match documents that "end with" a particular > string. Say I want to match all states where the town 'Anytown' exists: > > California.Anytown > Florida.Anytown > Texas.Anytown > > If I use the following query: > > curl > http://127.0.0.1:5984/example/_design/test/_view/ends-with-city?key=%22California.Anytown%22 > > It works and returns one document (as expected), but I cannot seem to make it > work when I look for an "end with" string. I have seen examples where %007F > is used to match "begins with". When I use it, I get a > {"error":"bad_request","reason":"invalid_json"} message. So I'm not sure how > to proceed. > > Any ideas? Thanks! > > -- Tito
