首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存时的mongoosastic不索引数据

保存时的mongoosastic不索引数据
EN

Stack Overflow用户
提问于 2016-07-07 11:27:30
回答 1查看 999关注 0票数 3

对于我的单元测试,在做猫鼬模式的概述之前,我正在使用mongoosastic截断我的模型。

模式:

代码语言:javascript
复制
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: 
},

模式插件:

代码语言:javascript
复制
  schema.plugin(mongoosastic, {
    esClient,
    index: model,
  });

截断:

代码语言:javascript
复制
Model.esTruncate(function (err) {

      if (err) {
          console.error(err);
      }

      console.log("[ElasticSearch] Model removed")
      Model.indexFiles();
  });

重新编制索引:

代码语言:javascript
复制
  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);
    });
  };

不过,我正在记录:

代码语言:javascript
复制
Model.on('es-indexed', function (err, res) {
    console.log('model added to es index');
});

在我的邮政路线上,我的急救室是空的。我不知道为什么?另外,Model.esSearch是一个在库中不存在的函数,但是我正在认真考虑开始使用默认的esClient,这是文档中的https://github.com/mongoosastic/mongoosastic/issues/219。你对这个图书馆有什么经验?

EN

回答 1

Stack Overflow用户

发布于 2016-07-07 17:21:23

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

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

这是为了我..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38244284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档