Indexing and Querying on multi-valued field (type String)

Hello !!

I am using match query (“type”:phrase”) to search documents that contain “mutivalues” fields (type:String).
The number of possible distinct values is around 30000 values. Our index has ~40 million documents (with _source). Elasticsearch v 1.7.5. The index has 5 shards (1 node for now). The node has ~8GB of RAM with 4GB set
to ES's JVM.

My questions:

(1) Is it feasible to search on such a field? I'm wondering if a field with that many values won't fit in memory (<4GB).

(2) How to store them? Should I consider these values as strings or integers

Any Help?