2014-07-21 14 views
11

Tôi đang cố gắng để cư đối tượng có mối quan hệ cha-con, nhưng nhận được một lỗi:ElasticSearch RoutingMissingException

[Elastica \ Exception \ ResponseException] RoutingMissingException [định tuyến là cần thiết cho [myindex]/[bình luận]/[ 12345]]

Trích từ loại 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 
     ... 

Cant hiểu những gì tôi đang mất tích ở đây ....

tôi sử dụng Symfony2.3, FOSElasticaBundle 3.0, ElasticSearch 1.2.2

+0

Xin chào @JognSmith, bạn có thể xin vui lòng chỉnh sửa câu trả lời của bạn và thêm dòng của nhà soạn nhạc cho các phiên bản? của FOSElasticaBundle, cho biết cách các thực thể của bạn được ánh xạ trong mã? Tôi ở dưới cùng một lỗi trong hơn 2 ngày và điều đó khiến tôi phát điên. Cảm ơn! – Cassiano

+0

@Cassiano, sự cố của tôi là trường không đúng trong ánh xạ (như được ghi trong câu trả lời của tôi bên dưới). Đã sửa câu hỏi gốc. Kiểm tra bản đồ của bạn. – JohnSmith

+0

Tôi đã kiểm tra điều đó. Đó là lý do tại sao tôi đã yêu cầu bạn những thứ khác như tag nhà soạn nhạc/chi nhánh và bản đồ liên kết trong các thực thể – Cassiano

Trả lời

0

Đã có lỗi đánh máy.

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

Có lẽ đây sẽ giúp người :)

20

Khi bạn có một mối quan hệ con bố mẹ, bạn cần phải xác định cha mẹ trong URL mỗi lần bạn cố gắng truy cập vào nó một đứa trẻ, kể từ khi định tuyến hiện nay phụ thuộc vào cha mẹ.

Trong ví dụ của bạn, bạn muốn thử:

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

+2

Đây có phải là trường hợp khi sử dụng DSL truy vấn không? – Erutan409