Почему docs.count = 0 в Elasticsearch при загрузке Json-файла? - PullRequest
0 голосов
/ 23 января 2019

У меня есть JSON-файл (test2.json) с данными, которые выглядят так:

{"index":{"_index":"wiki","_type":"data","_id":1},
 "mappings": {
  "doc": {
   "properties": {
    "curr": {"type": "text"},
    "n": {"type": "integer"},
    "prev": {"type": "text"},
    "type": {"type": "text"}
   }
  }
 }
}
{
    "results": [
    {
        "curr": "Ohio_\"Heartbeat_Bill\"",
        "n": 43,
        "prev": "other-external",
        "type": "external"
    }
    {
        "curr": "Ohio_\"Heartbeat_Bill\"",
        "n": 1569,
        "prev": "other-search",
        "type": "external"
    }
    {
        "curr": "Ohio_\"Heartbeat_Bill\"",
        "n": 11,
        "prev": "other-internal",
        "type": "external"
    }
    ]
}

Я получаю эти данные в Elasticsearch с помощью этой команды:

упругая скручиваемость: эластичная @ localhost: 9200 / wiki -H "Тип содержимого: application / json" -X PUT -d @ test2.json

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

Итак, я посмотрел на раздел Management-Elasticsearch и по-настоящему «количество документов» равно нулю.

docs.count=0

Вопрос теперь: как мне заставить Elasticsearch / Kibana правильно прочитать мои данные из файла? Принято сопоставление, а также индекс. Я просто не понимаю, почему «результаты» не рассматриваются как документ. Нужно ли иметь другую структуру в моем файле?

Любая помощь приветствуется! Спасибо вперед.

1 Ответ

0 голосов
/ 23 января 2019

Куда вы скопировали свою массовую команду? заголовок раздела неверен. Я никогда не видел также пункт отображения в дампе es. Вы уверены, что это возможно? Согласно documentation - здесь :

  • Вы должны создать свое отображение для индекса
  • затем вы создаете дамп json - посмотрите здесь для руководства по формату json, а здесь вы можете посмотреть формат производственного дампа эластичного поиска в Википедии
  • затем вы индексируете свой дамп с помощью команды curl bulk, которая согласно документации имеет вид:

    curl -s -H "Content-Type: application/x-ndjson" -XPOST localhost:9200/_bulk --data-binary "@test2.json"; echo

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