4

検索目的でmongoosasticを使用しようとしていますが、「リビング接続がありません」というエラーとマッピングの問題が発生し続けます

これがコードです

var mongoose = require('mongoose');
var mongoosastic = require('mongoosastic');
var Schema = mongoose.Schema;


var JobSchema = Schema({
  category: { type: Schema.Types.ObjectId, ref: 'Category', es_indexed:true},
  title: { type: String, es_indexed:true },

});

JobSchema.plugin(mongoosastic);
module.exports = mongoose.model('Job', JobSchema);

ルート.js

var Job = require('../models/job');

Job.createMapping(function(err, mapping) {
  if (err) {
    console.log('error creating mapping (you can safely ignore this)');
    console.log(err);
  } else {
    console.log('mapping created!');
    console.log(mapping);
  }
});

app.post('/search', function(req, res, next) {
    Job.search({query_string: {query: req.body.q}}, function(err, results) {
        if (err) return next(err);
        res.send(results);
    });
});

このエラーが発生し続けます。

ここに画像の説明を入力

mongoosastic を使用した経験のある人なら誰でも、この問題を解決するにはどうすればよいですか?

4

3 に答える 3

1

私も同じ問題に直面していますが、以下の方法を使用して解決しました

その非常に単純な:ローカルまたは他の場所に弾性検索をインストールする必要があります。

  1. エラスティック検索をダウンロード http://www.elastic.co/downloads/elasticsearch
  2. 展開フォルダ
  3. cmd または Treminal find bin フォルダーからフォルダーに移動し、そのフォルダー内でエラスティック検索スクリプトを実行します
  4. また、nodejsコードでは、デフォルトでlocalhost:9200にリンクされるため、 new elasticsearch.Client({host: 'localhost:9200'})を使用する必要はありませんが、エラスティック検索が他の場所にデプロイされた場合は、上記のクライアントを使用する必要があります方法
于 2015-12-03T11:35:46.157 に答える