2014-07-21 19 views
11

sto cercando di riempire gli oggetti che hanno relazione genitore-figlio, ma un errore:elasticsearch RoutingMissingException

[Elastica \ Exception \ ResponseException] RoutingMissingException [è richiesto di routing per [MyIndex]/[commento]/[ 12345]]

Estratto dal tipo 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 
     ... 

riesco a capire che cosa manco qui ....

sono utilizzando Symfony2.3, FOSElasticaBundle 3.0, ElasticSearch 1.2.2

+0

Ciao @JognSmith, la prego di modificare la tua risposta e aggiungere la riga del compositore per la versione? di FOSElasticaBundle, mostra come le tue entità sono mappate nel codice? Sono sotto lo stesso bug per più di 2 giorni e mi sta facendo impazzire. Grazie! – Cassiano

+0

@ Cassiano, il mio problema era il campo non corretto nella mappatura (come indicato nella mia risposta di seguito). Corretta domanda originale Controlla la tua mappatura. – JohnSmith

+0

L'ho già verificato. Questo è il motivo per cui ti stavo chiedendo altre cose come compositore tag/ramo e associazione delle associazioni nelle entità – Cassiano

risposta

0

Ha avuto errori di battitura nei mapping.

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

Forse questo aiuta qualcuno :)

20

Quando si ha un relazione genitore-figlio, è necessario specificare il genitore nella URL ogni volta che si tenta di accedere a un bambino, dal momento che il routing ora dipende dalla genitore.

Nel tuo esempio, che ci si vuole provare:

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

+2

Questo è ancora il caso quando usi Query DSL? – Erutan409