Как создать статическое отображение, но оставить остальные поля динамическими? - PullRequest
0 голосов
/ 02 апреля 2019

Когда я импортирую свои данные JSON в Elasticsearch, одно из моих полей - это поле цены, но в документе JSON оно представляется в виде строки.Мне было интересно, возможно ли установить статическое отображение для этого поля и оставить остальные поля динамически отображаемыми?

Ответы [ 2 ]

1 голос
/ 02 апреля 2019

По умолчанию динамическое сопоставление полей включено.Поэтому, когда у индексируемого документа есть поле, отсутствующее в mappingasticsearch, автоматически обновляет отображение.Любые поля уже в отображении используются как есть.Таким образом, вам нужно добавить свойство для поля price и создать индекс, как показано ниже:

PUT myindex
{
  "mappings": {
    "_doc": {
      "properties": {
        "price": {
          "type": "float"
        }
      }
    }
  }
}

Приведенное выше гарантирует, что поле цены всегда будет индексироваться по значению с плавающей запятой.Любые другие поля в документе будут использоваться для динамического добавления полей в сопоставление.

0 голосов
/ 02 апреля 2019

Вы можете создать отображение только для этого поля и оставить все остальные поля. При первом попадании документа будет автоматически отображено отображение эластичного поиска для остальных полей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...