Couchbase view using "WHERE" clause dynamically

Out of 50 fields I can query on any field(as well as multiple fields together also) and I need to return all fields on document as result.
I didnt use N1QL myself. Someone else from my team used it and found very bad performance even with indexing. Anyways I will ask him and let you know how the indexing is done. But I am trying to find a solution using map-reduce and views because they are a lot faster than N1QL