2014-07-21 21 views
11

Próbuję zapełnić obiektów mających związek rodzic-dziecko, ale pojawia się błąd:ElasticSearch RoutingMissingException

[Elastica \ Wyjątek \ ResponseException] RoutingMissingException [routingu jest wymagana [myindex]/[komentarz]/[ 12345]]

Fragment typu 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 
     ... 

mogę zrozumieć co ja tu brakuje ....

jestem przy użyciu Symfony2.3, FOSElasticaBundle 3.0, ElasticSearch 1.2.2

+0

Witam @JognSmith, mógłbyś edytować swoich odpowiedzi i dodać linię kompozytora dla wersji? FOSElasticaBundle, pokazują, w jaki sposób twoje jednostki są mapowane w kodzie? Jestem pod tym samym błędem przez ponad 2 dni i to doprowadza mnie do szału. Dzięki! – Cassiano

+0

@ Cassiano, moim problemem było nieprawidłowe pole w mapowaniu (jak zauważono w mojej odpowiedzi poniżej). Skorygowano oryginalne pytanie. Sprawdź swoje mapowanie. – JohnSmith

+0

Już to sprawdziłem. Dlatego pytałem Cię o inne rzeczy, takie jak tag/gałąź kompozytor i mapowanie asocjacji w jednostkach – Cassiano

Odpowiedz

0

Miał literówki w mapowaniach.

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

Może to pomoże ktoś :)

20

Kiedy masz relacje rodzic dziecko, trzeba określić rodzica w adresie URL każdej próbie dostępu do jej dziecka, ponieważ routing teraz zależy od rodzic.

W swoim przykładzie, że chcesz spróbować:

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

+2

Czy tak jest w przypadku korzystania z DSL z zapytaniem? – Erutan409