Range Filter on array with different range

Hi all.

I have an index named 2000 on my Elasticsearch cluster, here is the map:

curl -XGET "192.168.1.140:9200/2000/_mapping?pretty"
{
  "2000" : {
    "mappings" : {
      "testData" : {
        "properties" : {
          "faceFeature" : {
            "type" : "float"
          }
        }
      }
    }
  }
}

The content of faceFeature is a 128-dimensional array of float type. For example, it can be:

[0.3, 0.7, -0.4, -0.6, ...]

Now I have a standard array. To make it easy, I call this array a. For example, a is:

[0.2, 0.8, -0.7, -0.3, ...]

Now in every dimension, I hope that I can get the array in given range:

[ eg, eg, eg, eg, ...]

That means array like[0.3, 0.5, -0.5, -0.6, ...] is what I want to get but array like [0.1, -0.1, 0.2, -0.5, ...] is not what I want to get because its second dimension is out of the range eg as well as the third dimension is out of the range eg.

How can I do this using query?

Thanks in advance!

hmm, maybe this is a really difficult problem.

Now I try to save this 128-dimensional array with 128 field, but I found that saving such a document is so slowly. It save 6000 thousand documents in three hours.

Is there a limit of the number of field? Or maybe it will be slow with so many fields in an index?