Подтвердить что ты не робот

ElasticSearch RoutingMissingException

Я пытаюсь заполнить объекты, имеющие отношение родитель-потомок, но получаю сообщение об ошибке:

[Elastica\Exception\ResponseException] RoutingMissingException [маршрутизация требуется для [myindex]/[комментарий]/[12345]]

Выдержка из типа conf:

article:
    _source:
        enabled: false
    mappings:
        ...

comment:
    _source:
        enabled: false
    _parent:
        type: article
        property: article_id
        identifier: id
    _routing:
        required: true
        path: article_id
    mappings:
        article:
            type: long
            index: not_analyzed
        ...

Не могу понять, чего я здесь не хватает...

Я использую Symfony2.3, FOSElasticaBundle 3.0, ElasticSearch 1.2.2

4b9b3361

Ответ 1

Имеет опечатку в отображениях.

comment:
    mappings:
        article_id: <-- was "article"
            type: long
            index: not_analyzed

Может быть, это помогает кому-то:)

Ответ 2

Если у вас есть дочерние отношения родителя, вам нужно указать родителя в URL-адресе каждый раз, когда вы пытаетесь получить к нему доступ ребенка, поскольку теперь маршрутизация зависит от родителя.

В вашем примере вы хотели бы попробовать:

http://example.com/myindex/comment/12345 ? parent = [article_id]