我的单元测试我在使用mongoose模式的bulkindex之前使用mongoosastic截断我的模型。
架构:
schema.plugin(mongoosastic, {
esClient,
index: model,
});
架构插件:
Model.esTruncate(function (err) {
if (err) {
console.error(err);
}
console.log("[ElasticSearch] Model removed")
Model.indexFiles();
});
截断情形:
Model.indexFiles = function () {
console.log('[ElasticSearch] Start indexing ' + entityName + ' documents');
var stream = model.synchronize();
var count = 0;
stream.on('data', function (err, doc) {
count++;
});
stream.on('close', function () {
console.log('[ElasticSearch] Indexed ' + count + ' ' + entityName + ' documents!');
});
stream.on('error', function (err) {
console.log('mongoosastic ERROR');
console.log(err);
});
};
重建索引:
Model.on('es-indexed', function (err, res) {
console.log('model added to es index');
});
但是我记录了:
{
"rows": [
[
"New Visitor",
"(not set)",
"(not set)",
"0"
],
[
"New Visitor",
"(not set)",
"(not set)",
"mobile"
],
[
"New Visitor",
"(not set)",
"(not set)",
"mobile"
],
[
"New Visitor",
"(not set)",
"(not set)",
"mobile",
]
]
}
在我的Post路线中,我的ES保持空白。
我不知道为什么?
此外,Model.esSearch是一个在库中不存在的函数,但它被记录在案mysqli_query
我认真考虑开始使用默认的esClient。
您对这个图书馆有什么经历?
答案 0 :(得分:0)
这可能很难找到,但在我的情况下它不是库,我的ES群集健康状态是RED,因为我没有足够的磁盘空间。 您可以尝试以下方法:
那为我做了......