弹性search返回IndexMissingException

我试图在node.js中使用elasticSearch + mongose(这是elmongo)实现search引擎。 每当我尝试运行searchapi我得到“错误”:“IndexMissingException [[广告]失踪]”

这是代码

advertisingSchema.js

var mongoose = require('mongoose'); var elmongo = require('elmongo'); var Schema = mongoose.Schema; var AdSchema = new Schema({ title: String, description: String, category: String, phoneNumber: { type: Number, unique: true}, photos: [{ type: String }], created: { type: Date, default: Date.now}, price: Number, password: String }); AdSchema.plugin(elmongo); module.exports = mongoose.model('Ad', AdSchema 

);

api.js

  var Ad = require('../models/advertising'); module.exports = function(app, express) { var api = express.Router(); Ad.sync(function(err) { console.log("Check the number sync"); }) api.post('/search', function(req, res) { Ad.search(req.body, function(err, result){ if(err) { res.send(err); return; } res.json(result); }); }); return api; } 

我已经做了一切正确的,但它只是不想返回search结果。

由于错误提示您的群集中没有名为“广告”的索引。 索引是自动创build的,除非在弹性searchconfiguration中将属性“action.auto_create_index”设置为false。 您可以编程方式创build索引,也可以运行curl请求。 参考create index api。