mongoosastic を使用してオートコンプリートを作成しようとしています。次のコードがあります。
var ItemSchema = new Schema({
label: {
type: String,
required: true,
es_type: "completion",
es_analyzer: "simple",
es_payloads: true
})
ItemSchema.plugin(mongoosastic);
var ITEM = mongoose.model('Item', ItemSchema);
ITEM.createMapping({}, function(err, mapping) {
if (err) {
console.log('error creating mapping (you can safely ignore this)');
console.log(err);
} else {
console.log('mapping created!');
console.log(mapping);
}
});
マッピング中にこのエラー メッセージが表示されました
[illegal_argument_exception] マッパー [ラベル] はタイプ [文字列] から [補完] に変更できません]
そして、検索すると、次のエラーが表示されました
[class_cast_exception] org.elasticsearch.index.mapper.core.StringFieldMapper$StringFieldType は org.elasticsearch.index.mapper.core.CompletionFieldMapper$CompletionFieldType にキャストできません