gpt4 book ai didi

elasticsearch - mongoosastic 在保存时不索引数据

转载 作者:行者123 更新时间:2023-12-02 21:15:38 28 4
gpt4 key购买 nike

对于我的单元测试,在对我的 Mongoose 模式进行批量索引之前,我将使用 mongoosastic 截断我的模型。

架构:

model: {
name: {type: String, required: true, es_indexed: true, index: 'not_analyzed'},
aliases: {type: [String], es_indexed: true, index: 'not_analyzed'},
birth: {type: Date, es_type: 'date', es_indexed: true, index:
},

架构插件:

  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');
});

在我的 Post route ,我的 ES 保持为空。我不知道为什么?此外,Model.esSearch 是一个函数,该函数在库中不存在,但有记录 https://github.com/mongoosastic/mongoosastic/issues/219我正在认真考虑开始使用默认的 esClient。您对这个库的体验如何?

最佳答案

这可能很难找到,但就我而言,它不是库,而是我的 ES 集群健康状态为红色,因为我没有足够的磁盘空间。您可以尝试以下方法:

  1. 停止本地 ES 实例
  2. 清理一些磁盘空间
  3. 重新启动您的 ES
  4. 使用 CURL 截断索引 (curl -XDELETE ' http://localhost:9200/model/ ')
  5. 重新索引您的模型
  6. 如果仍然存在问题,请考虑到 ES 中的记录更新是半实时的,因此可能会有一些延迟,并且应该在回调中完成日志记录。在截断和批量索引后短暂延迟后运行测试

这对我来说是这样......

关于elasticsearch - mongoosastic 在保存时不索引数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38244284/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com