невозможно увидеть указанные поля в результатах, когда _source.enabled = false - PullRequest
1 голос
/ 31 марта 2019

Я пытаюсь создать сопоставление для Elasticsearch 6.7, но когда я получаю запись, я не вижу ни одного из сопоставленных полей, если не включаю _source.

У меня есть следующий пример:

PUT xyz
{
  "mappings":{
    "_doc":{
      "_source": {
        "enabled": false
      },
      "properties":{
        "raw":{
          "type": "text",
          "store": true
        }
      }
    }
  }
}

PUT xyz/_doc/123
{"raw":"hello"}

GET xyz/_doc/123

Но результат из GET:

{
  "_index": "xyz",
  "_type": "_doc",
  "_id": "123",
  "_version": 1,
  "found": true
}

Я ожидаю, что я получу результат, включающий поле, которое я хочу сохранить, но, очевидно, я 'я что-то упустил?:

{
  "_index": "xyz",
  "_type": "_doc",
  "_id": "123",
  "_version": 1,
  "found": true,
  "raw": "hello"
}

1 Ответ

0 голосов
/ 31 марта 2019

Вам все еще нужно запросить сохраненные поля , которые вы хотите увидеть, например:

GET xyz/_doc/123?stored_fields=raw

Тогда вы увидите это:

{
  "_index" : "xyz",
  "_type" : "_doc",
  "_id" : "123",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "fields" : {
    "raw" : [
      "hello"
    ]
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...