Elasticsearch fielddata против отображения полей - PullRequest
1 голос
/ 24 июня 2019

Может кто-нибудь объяснить мне, пожалуйста, в чем разница между настройками fielddata и полей при отображении в Elasticsearch?Например, в чем разница между этими двумя кодами:

PUT my_index
{
  "mappings": {
    "properties": {
      "my_field": { 
        "type": "text",
        "fields": {
          "keyword": { 
            "type": "keyword" // for ordering
          }
        }
      }
    }
  }
} 

и

PUT my_index/_mapping
{
  "properties": {
    "my_field": { 
      "type":     "text",
      "fielddata": true  // what is the difference?
    }
  }
}

Или вы можете сказать мне, имеет ли смысл этот код?

PUT my_index
{
  "mappings": {
    "properties": {
      "my_field": { 
        "type": "text",
        "fielddata": true,
        "fields": {
          "keyword": { 
            "type": "keyword" // for ordering
          }
        }
      }
    }
  }
} 

1 Ответ

1 голос
/ 24 июня 2019

Поскольку основная цель состоит в сортировке и агрегировании, тогда обязательно используйте первый вариант, то есть поле keyword (sub-).

fielddata - это старомодный способ сделать это и съесть намного больше памяти.

Более подробную информацию и ссылку на соответствующую статью вы можете найти здесь

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