0

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 にキャストできません

4

1 に答える 1