Получение полного значения из запроса ElasticSearch

#c# #.net #elasticsearch #plainelastic.net

#c# #.net #elasticsearch #plainelastic.net

Вопрос:

У меня есть следующая структура в моем 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
    }
}
 

Я пытаюсь получить и то, и другое, данные _source как внутри, так и внутри fields , когда я запускаю запрос:

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

Все, что я получаю, — это значения, содержащиеся в _source , тогда как, если я выполняю запрос:

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

Тогда я только fields . Есть ли способ получить оба? Я буду благодарен за любую помощь.

Ответ №1:

Вы должны иметь возможность указать «_source» в «полях»

Пример:

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

Комментарии:

1. Боже, это было так просто! Мне стыдно даже задавать этот вопрос 🙂