2016-12-26 18 views
5

khi tôi muốn đánh chỉ mục một tài liệu trong elasticsearch vấn đề này xảy ra:lĩnh vực Output trong autocomplete gợi ý

message [MapperParsingException[failed to parse]; nested: IllegalArgumentException[unknown field name [output], must be one of [input, weight, contexts]];]

Tôi biết rằng trường đầu ra khỏi elasticsearch trong phiên bản 5 nhưng tại sao? và những gì tôi phải làm để có được kết quả duy nhất cho đầu vào?

+0

Tôi nhận thấy rằng giá trị ban đầu là với trường _source được trả về với đề xuất, nhưng nó thực sự không phải là giải pháp để sử dụng nó vì thay đổi cấu trúc và khóa dựa trên đối tượng ban đầu nó bắt nguồn từ đó. –

Trả lời

0

Elastic đề cập đến sau đây

Như đề nghị được tài liệu theo định hướng, gợi ý siêu dữ liệu (ví dụ đầu ra) bây giờ sẽ được quy định như một cánh đồng trong tài liệu. Sự hỗ trợ cho việc xác định đầu ra khi lập chỉ mục các mục gợi ý đã bị loại bỏ. Bây giờ văn bản của mục nhập kết quả đề xuất luôn là giá trị chưa được phân tích về đầu vào của đề xuất (giống như không chỉ định đầu ra khi lập chỉ mục đề xuất trong chỉ mục trước 5.0).

Source

Cập nhật

tôi đã có thể để có được một kết quả duy nhất từ ​​nhiều đầu vào trong ES 5.1.1. Bạn có thể tìm thấy trường trả lời here

1

output được xóa khỏi ElasticSearch trong phiên bản 5, hiện tại _source được gửi trả về cùng với đề xuất. Ví dụ được hiển thị bên dưới.

Mapping

{ 
    "user": { 
     "properties": { 
      "name": { 
       "type": "string" 
      }, 
      "suggest": { 
       "type": "completion", 
       "analyzer": "simple", 
       "search_analyzer": "simple" 
      } 
     } 
    } 
} 

liệu

{ 
    "id": "123", 
    "name": "Abc", 
    "suggest": 
    { 
     "input": "Abc::123" 
    }, 
    "output": "Abc::123" 
} 

Query

POST - http://localhost:9200/user */_ gợi ý khá

0123?
{ 
"type-suggest": { 
    "text": "Abc", 
    "completion": { 
     "field": "suggest" 
    } 
    } 
} 
Các vấn đề liên quan