Reading Couchbase data


I am a newbie for couchbase. I was looking the ways , how the data can be read from couchbase.I could find that there are three approaches with which we could read the data form couchbase.
1-Through views
2-Do indexing through elastic search and read the data from couchbase after getting ids through ES.
3-Through N1QL queries(through raw queries or on views).

Which is the best appraoch to use in application?