【问题标题】:ElasticSearch with MongoDB doesn't indexing big objects使用 MongoDB 的 ElasticSearch 不会索引大对象
【发布时间】:2013-04-16 19:31:53
【问题描述】:

我使用以下信息创建了 ES(带有 MongoDB River 插件)索引:

{
    "type": "mongodb",
    "mongodb": {
        "db": "mydatabase",
        "collection": "Users"
    },
    "index": {
        "name": "users",
        "type": "user"
    }
}

当我插入简单的对象时:

{
   "name": "Joe",
   "surname": "Black"
}

一切正常(我可以使用 ES Head Web 界面查看数据)。 但是当我插入更大的对象时,它不会索引它:

{
    "object": {
        "text": "Let's do it again!",
        "boolTest": false
    },
    "type": "coolType",
    "tags": [
            ""
    ],
    "subObject1": {
        "count": 0,
        "last3": [],
        "array": []
    },
    "subObject2": {
        "count": 0,
        "last3": [],
        "array": []
    },
    "subObject3": {
        "count": 0,
        "last3": [],
        "array": []
    },
    "usrID": "5141a5a4d8f3a79c09000001",
    "created": Date(1363527664000),
    "lastUpdate": Date(1363527664000)
}

请问哪里有问题?

感谢您的帮助!

编辑:这是来自 ES 控制台的错误:

org.elasticsearch.index.mapper.MapperParsingException:对象映射 for [stream] 试图解析为对象,但得到了 EOF,有一个具体的 价值被赋予了吗?在 org.elasticsearch.index.mapper.object.ObjectMapper.parse(ObjectMapper.java:457) 在 org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:486) 在 org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:430) 在 org.elasticsearch.index.shard.service.InternalIndexShard.prepareIndex(InternalIndexShard.java:318) 在 org.elasticsearch.action.bulk.TransportShardBulkAction.shardOperationOnPrimary(TransportShardBulkAction.java:157) 在 org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:533) 在 org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$1.run(TransportShardReplicationOperationAction.java:431) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:722) [2013-03-20 10:35:05,697][警告 ][org.elasticsearch.river.mongodb.MongoDBRiver$Indexer] 失败 批量执行中的executefailure:[0]:索引[stream],类型[stream], id [514982c9b7f3bfbdb488ca81],消息 [MapperParsingException[object [stream] 的映射试图解析为对象,但得到了 EOF,有一个 提供了具体价值?]] [2013-03-20 10:35:05,698][INFO ][org.elasticsearch.river.mongodb.MongoDBRiver$Indexer] 索引 1 文档,1 插入 0,更新,0 删除,每个文档 0 第二个

【问题讨论】:

  • 你用的是哪条河?

标签: mongodb elasticsearch


【解决方案1】:

您使用的是哪个版本的 MongoDB River? 请查看问题 #26 [1]。它包含索引大型 json 文档的示例。

如果您仍然可以重现问题,请提供更多详细信息:river 设置、mongodb(版本、具体设置)、elasticsearch(版本、具体设置)。

  1. https://github.com/richardwilly98/elasticsearch-river-mongodb/issues/26

【讨论】:

    猜你喜欢
    • 2018-08-01
    • 1970-01-01
    • 2017-06-28
    • 2013-02-20
    • 2020-01-24
    • 1970-01-01
    • 2011-12-30
    • 2017-02-14
    • 1970-01-01
    相关资源
    最近更新 更多