Can't get nested fields with stored_fields


#1

All. I'm using ElasticSearch 5.0 and I have next mapping:

{
    "mappings": {
        "object":{
            "properties":{
                "attributes":{
                    "type":"nested",
                    "properties":{
                        "name": { "type": "keyword", "store":true},
                        "value": { "type": "text", "store":true },
                        "converted": {"type": "double", "store":true},
                        "datetimestamp": { "type": "date", "store":true}
                    }
                }
            }
        }
    }
}

Then I add one document:

{
    "attributes":[
        {"name":"attribute_string", "value":"string_value","converted":null,"datetimestamp":null},
        {"name":"attribute_double", "value":"1234.567","converted":1234.567,"datetimestamp":null},
        {"name":"attribute_datetime", "value":"2015-01-01T12:10:30Z","converted":null,"datetimestamp":"2015-01-01T12:10:30Z"}
        ]    
}

When I query w/ "stored_fields", I don't have fields in results:

_search
{
    "stored_fields":["attributes.converted"]
}

Results:

{
    "_index": "test_index",
    "_type": "object",
    "_id": "1",
    "_score": 1
 }

But when I use "_source":["attributes.converted"] , i have result:

 {
    "_index": "test_index",
    "_type": "object",
    "_id": "1",
    "_score": 1,
    "_source": {
       "attributes": [
          { "converted": null  },
          { "converted": 1234.567  },
          { "converted": null     }
       ]
    }
 }

What is the proper way to use stored_fields? Does usage of "_source" affect performance compare to "stored_fields" approach?

If "_source" approach is fast as "stored_fields", shall I remove "store":true for the fields?

Thank you.


(system) #2

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.