2014-05-12 26 views
6

Tôi folow một bài viết về ElasticSearch và tôi thử đặt ví dụ này trên động cơ của tôi.ElasticSearch MapperParsingException đối tượng mapping

dụ:

curl -XPUT 'elasticsearch:9200/twitter/tweet/1' -d '{ 
    "user": "david", 
    "message": "C'est mon premier message de la journée !", 
    "postDate": "2010-03-15T15:23:56", 
    "priority": 2, 
    "rank": 10.2 
}' 

tôi cố gắng gửi thông tin này trên một file bash (tôi sử dụng Putty), nhưng tôi có errror này:

{"error":"MapperParsingException[object mapping for [tweet] tried to parse as object, 
    but got EOF, has a concrete value been provided to it?]","status":400} 

tôi cũng cố gắng để xem một lỗi với "cat-tweet.sh", nhưng tôi không hiểu tại sao tôi lại gặp lỗi này.

Xin cảm ơn trước.

+0

Đăng ánh xạ chỉ mục của bạn .. – BlackPOP

+0

Tôi nghĩ rằng đó là do ánh xạ không khớp của bản đồ được lưu trữ trong cấu trúc tài liệu được lưu trữ. – atott

+0

Ngoài ra còn có một trích dẫn duy nhất trong đầu vào của bạn có thể làm hỏng nó. Vì vậy, thay vì gửi đối tượng đầy đủ, nó chỉ gửi '{ "người dùng": "david", "message": "C' –

Trả lời

8

Đó là loại không phù hợp. Tôi đang phải đối mặt với vấn đề như vậy quá. Có vẻ như bạn cố gắng lập chỉ mục một giá trị vào một đối tượng được ánh xạ json. ví dụ, bạn lập chỉ mục một lần một cái gì đó như thế này:

{ 
    "obj1": { 
    "field1": "value1" 
    } 
} 

và sau đó chỉ số này:

{ 
    "obj1": "value" 
} 

Kiểm tra lập bản đồ hiện tại của bạn qua elasticsearch:9200/twitter/_mapping và bạn sẽ thấy rằng nếu một trong những lĩnh vực này đã được lập chỉ mục như object

Các vấn đề liên quan