как я могу изменить индексирование в новом значении поля в mongodb в упругом поиске? - PullRequest
0 голосов
/ 11 апреля 2019

Я использую MongoDB, эластичный поиск и node.js в моем проекте.У меня есть модель вложения в моем проекте, в которой для каждого документа есть поле fileName, в котором хранится имя вложения, и я создаю индекс в поле «fileName», используя mongoosastic в упругом поиске.Когда файл успешно загружен, пользователь может найти вложение, указав имя вложения, и оно работает нормально, но когда пользователь изменил имя вложения, как в моем проекте, любой пользователь может изменить имя вложения файла, который у него есть.загружено.Таким образом, после изменения имени, если пользователь ищет вложение, используя новое имя, оно не показывает никакого вывода ??Может кто-нибудь сказать мне, как я могу переиндексировать новое имя в упругом поиске с помощью mongoosastic ??Ниже представлена ​​схема эластичного поискового запроса и модели вложения

attachmentModel.Attachment.search({
            "match_phrase_prefix": {
                "fileName": name
            }
        }, (err, result) => {
            if (err) {
                reject(err);
            } else {
                resolve(result.hits.hits);
            }
        })

const attachmentSchema =  Schema ({
    createdAt : { type: Date },
    updatedAt : { type : Date},
    createdBy : { type : Schema.Types.ObjectId , ref : 'User'},
    updatedBy : { type : Schema.Types.ObjectId , ref : 'User'},
    type : { type : String , enum : ["Image","Video","Other","Youtube"]},
    fileName : { type :String,es_index:true},
    fileURL : { type :String},
    fileThumbURL : { type: String},
    metadata : {
        type : { type : String},
        size : { type: Number},
        duration : { type : Schema.Types.Decimal128 }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...