MongoConnector mapper_parsing_exception с эластичным поиском из Mongodb - PullRequest
0 голосов
/ 04 сентября 2018

Я использую соединитель mongo и транспортирую целые коллекции от mongodb до эластичного поиска.

Файл json конфигурации mongo-коннектора:

    "mainAddress": "localhost:27017",
    "verbosity": 1,
    "continueOnError":false,

    "logging": {
        "type": "file",
        "filename": "mongo-connector.log"
    },
   "namespaces": {
     "include": ["dev-db.*"]
    },
    "docManagers": [
        {
            "docManager": "elastic2_doc_manager",
            "targetURL": "localhost:9200",
            "__bulkSize": 1000,
            "__uniqueKey": "_id",
            "__autoCommitInterval": 0,
            "args": {
             "clientOptions": {
             "timeout": 100
                }
        }
        }
    ]

Все начинается нормально, но после определенного момента, в определенной коллекции, скажем, dummy_coll, журнал указывает это:

u'delStatus': True, u'email': u'priyanka@chopra.com'}}}, {u'index': {u'status': 400, u'_type': u'dummy_coll', u'_index': u'dev-db', u'error': {u'caused_by': {u'reason': u'Current token (VALUE_FALSE) not numeric, can not use numeric value accessors\n at [Source: org.elasticsearch.common.bytes.BytesReference$MarkSupportingStreamInputWrapper@739b2b14; line: 1, column: 471]', u'type': u'json_parse_exception'}, u'reason': u'failed to parse [delStatus]', u'type': u'mapper_parsing_exception'},

, который говорит, что у меня есть проблема с анализом delStatus. Однако у меня есть только истинный или ложный подарок в той же области. Я очень мало представляю, как это работает. Любое предложение будет действительно полезным.

1 Ответ

0 голосов
/ 29 ноября 2018

Я наконец решил это, используя dynamic_templates как

"dynamic_templates": [
          {
            "dynTmp": {
              "path_match":   "delStatus",
              "mapping": {
                "type":       "number"
              }
            }
          }
        ],...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...