Как интегрировать Mongoosastic? - PullRequest
0 голосов
/ 06 февраля 2019

Полностью новый для ELASTICSEARCH

У меня есть mongoose schema, определенный следующим образом

const newSchema = new mongoose.Schema({
    name: String,
    age: Number,
    interests: [Objects],
});

newSchema.plugin(mongoosastic);

New = module.exports = mongoose.model('New', newSchema);

New.createMapping({
    "settings": {
        "number_of_shards": 1,
        "number_of_replicas": 0,
        "analysis": {
            "filter": {
                "nGram_filter": {
                    "type": "nGram",
                    "min_gram": 2,
                    "max_gram": 20,
                    "token_chars": [
                        "letter",
                        "digit",
                        "punctuation",
                        "symbol"
                    ]
                }
            },
            "analyzer": {
                "nGram_analyzer": {
                    "type": "custom",
                    "tokenizer": "whitespace",
                    "filter": [
                        "lowercase",
                        "asciifolding",
                        "nGram_filter"
                    ]
                },
                "whitespace_analyzer": {
                    "type": "custom",
                    "tokenizer": "whitespace",
                    "filter": [
                        "lowercase",
                        "asciifolding"
                    ]
                }
            }
        }
    },
    "mappings": {
        "new": {
            "_all": {
                "analyzer": "nGram_analyzer",
                "search_analyzer": "whitespace_analyzer"
            },
            "properties": {
                "name": {
                    "type": "string",
                },
                "age": {
                    "type": "string",
                },
                "interests": {
                    "type": "string",
                },
            }
        }
    }
}, function(err, mapping) {
    if (err) {
        console.log('error');
        console.log(err);
    } else {
        console.log('mapping created!');
        console.log(mapping);
    }
});

Когда я запускаю вышеупомянутый проект, я получаю сообщение об ошибке:

сообщение: '[mapper_parsing_exception] Нет обработчика для типа [string], объявленного в поле [age]'

Что я делаю неправильно?Я совершенно новичок в упругом поиске, mongoosastic.

Я даже немного не знаю об упругом поиске, указанная выше функция createMapping скопирована из Интернета.

...