Getting complete value from ElasticSearch query


(Vinay Pandey) #1

I have the following structure on my ElasticSearch:

{
    _index: 3_exposureindex
    _type: exposuresearch
    _id: 12738
    _version: 4
    _score: 1
    _source: {
        Name: test2_update
        Description:
        CreateUserId: 8
        SourceId: null
        Id: 12738
        ExposureId: 12738
        CreateDate: 2014-06-20T16:18:50.500
        UpdateDate: 2014-06-20T16:19:57.547
        UpdateUserId: 8
    }
    fields: {
        _parent: 1
    }
}

I am trying to get both, the data in _source as well as that in fields,
when I run the query:

{
  "query": {
    "terms": {
      "Id": [
        "12738"
      ]
    }
  }
}

All I get are the values contained in _source, whereas, if I run the
query:

{
  "fields": [
    "_parent"
  ],
  "query": {
    "terms": {
      "Id": [
        "12738"
      ]
    }
  }
}

Then I only the fields. Is there a way to get both? I will be grateful
for any help.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/cdb02319-f6ee-455e-bf13-762df7e33a82%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Vinay Pandey) #2

I forgot to mention that I have asked the same question in StackOverflow
http://stackoverflow.com/questions/24333655/getting-complete-value-from-elasticsearch-query

On Friday, June 20, 2014 11:52:49 AM UTC-7, Vinay Pandey wrote:

I have the following structure on my ElasticSearch:

{
    _index: 3_exposureindex
    _type: exposuresearch
    _id: 12738
    _version: 4
    _score: 1
    _source: {
        Name: test2_update
        Description:
        CreateUserId: 8
        SourceId: null
        Id: 12738
        ExposureId: 12738
        CreateDate: 2014-06-20T16:18:50.500
        UpdateDate: 2014-06-20T16:19:57.547
        UpdateUserId: 8
    }
    fields: {
        _parent: 1
    }
}

I am trying to get both, the data in _source as well as that in
fields, when I run the query:

{
  "query": {
    "terms": {
      "Id": [
        "12738"
      ]
    }
  }
}

All I get are the values contained in _source, whereas, if I run the
query:

{
  "fields": [
    "_parent"
  ],
  "query": {
    "terms": {
      "Id": [
        "12738"
      ]
    }
  }
}

Then I only the fields. Is there a way to get both? I will be grateful
for any help.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/f70efa60-f62c-4dc0-9812-e02a3a900ea4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Vinay Pandey) #3

This just got answered:

You should be able to specify "_source" in the "fields"

Example:

{
"fields": [
"_parent",
"_source"
],
"query": {
"terms": {
"Id": [
"12738"
]
}
}}

On Friday, June 20, 2014 11:52:49 AM UTC-7, Vinay Pandey wrote:

I have the following structure on my ElasticSearch:

{
    _index: 3_exposureindex
    _type: exposuresearch
    _id: 12738
    _version: 4
    _score: 1
    _source: {
        Name: test2_update
        Description:
        CreateUserId: 8
        SourceId: null
        Id: 12738
        ExposureId: 12738
        CreateDate: 2014-06-20T16:18:50.500
        UpdateDate: 2014-06-20T16:19:57.547
        UpdateUserId: 8
    }
    fields: {
        _parent: 1
    }
}

I am trying to get both, the data in _source as well as that in
fields, when I run the query:

{
  "query": {
    "terms": {
      "Id": [
        "12738"
      ]
    }
  }
}

All I get are the values contained in _source, whereas, if I run the
query:

{
  "fields": [
    "_parent"
  ],
  "query": {
    "terms": {
      "Id": [
        "12738"
      ]
    }
  }
}

Then I only the fields. Is there a way to get both? I will be grateful
for any help.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/00e590cf-352d-4ebf-800d-113565ee7fbe%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Brian Yoder) #4

Vinay,

To be more specific:

If you don't ask for any fields, then _source is returned by default.

But if you ask for any fields at all, then _source is not included by
default. Therefore, if you wish to include _source along with other fields,
you must explicitly ask for _source along with those other fields.

Brian

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/b6907975-ce05-4a9a-88cc-cf234e0c1990%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(system) #5