Как импортировать данные с большим столбцом int в упругий поиск?

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

0
задан Leo Zhang 10 April 2019 в 19:50
поделиться

1 ответ

Хотя у меня нет решения для добавления поддержки чисел в диапазоне 10 duodecillion +, я хотел бы отметить, что при использовании динамического отображения отправляемая строка цифр сохраняется как text [117 ] и keyword тип данных. Таким образом, если вы хотите выполнить сортировку или фильтрацию, вы можете работать с полем keyword.

Например:

PUT random_big

POST random_big/_doc
{
  "num": "10000000000000000000000000000000000000000"
}
POST random_big/_doc
{
  "num": "10000000000000000000000000000000000000001"
}
POST random_big/_doc
{
  "num": "10000000000000000001000000000000000000000"
}

Проверка отображения (GET random_big/_mapping) показывает:

{
  "random_big" : {
    "mappings" : {
      "_doc" : {
        "properties" : {
          "num" : {
            "type" : "text",
            "fields" : {
              "keyword" : {
                "type" : "keyword",
                "ignore_above" : 256
              }
            }
          }
        }
      }
    }
  }
}

И сортировка может быть выполнена следующим образом:

GET random_big/_search
{
  "sort": [
    {
      "num.keyword": {
        "order": "asc"
      }
    }
  ]
}
0
ответ дан James Pittiglio 10 April 2019 в 19:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: