私は Elastic Search を使用して、people というインデックスの autosuggest フィールドを実装しています。
フィールドのマッピングは次のとおりですperson_name_suggest
-
person_name_suggest: {
type: "completion",
analyzer: "simple",
payloads: true,
preserve_separators: true,
preserve_position_increments: true,
max_input_length: 50,
context: {
office_scope: {
type: "category",
path: "office_scope",
default: [
"0"
]
}
}
},
Elastic Search に必要なリクエストは次のとおりです。
{
"suggest":{
"suggestions":{
"text":"M","
completion":{
"field":"person_name_suggest",
"context":890,
"size":10
}
}
}
}
次のエラーが表示されます-
"error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[OsbgjmewT569a-7ZoNCMtg][people_2016_10_29][0]: SearchParseException[[people_2016_10_29][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"suggest":{"suggestions":{"text":"M","completion":{"field":"person_name_suggest","context":890,"size":10}}}}]]]; nested: ElasticsearchIllegalArgumentException[suggester [completion] requires context to be setup]; }
私が見ることができるものから、私は補完サジェスターを正しく設定しています。
誰かが私を正しい方向に向けることができますか?
使用されている ElasticSearch のバージョンは1.6