Tag: elasticsearch mongoosastic

如何使用mongoosastic连接到AWS Elasticsearch

我正尝试在我的mongo db数据库上创build一个search。 我认为一个好的select是使用elasticsearch。 所以我开始了一个关于aws弹性search的集群。 因为我有这个弹性search的开发目的,我已经设置了访问策略对域的开放访问。 this.es_connection = new elasticsearch.Client("elastic search end point as given on aws es domain page"); this.es_connection.ping( { requestTimeout: 30000, hello: 'elasticsearch' }, function(error) { if (error) { console.error('elasticsearch cluster is down!' + JSON.stringify(error)); } else { logger.info('All is well in elasticsearch'); } } ); 检查我正在尝试在npm上ping我们的elascticsearch软件包。我没有任何活的连接。 节点服务器正在本地主机上运行。当我从我自己的浏览器中查看终点URL时,我收到了成功消息。 我如何用mongoosastic使用aws es服务,我一直没有遇到连接错误。 如果AWS / ES是一个restapi我怎么能用于mongoosastic。

如何在elasticsearch中对地理坐标应用filter?

我正在使用elasticsearch和mongoosastic npm模块。 我正在尝试在具有以下模型结构的地理坐标上应用滤镜 geoLocation: { type: { type: String, default: 'Point' }, coordinates: [Number] //orders should be lat,lng } 与映射如下 { "events": { "settings": { "analysis": { "filter": { "edgeNGram_filter": { "type": "edgeNGram", "min_gram": 1, "max_gram": 50, "side": "front" } }, "analyzer": { "edge_nGram_analyzer": { "type": "custom", "tokenizer": "edge_ngram_tokenizer", "filter": [ "lowercase", "asciifolding", "edgeNGram_filter" ] […]

mongoosastic findOneAndUpdate在elasticsearch中没有索引

问题:在我的例子中,如果我用户schema.save那么它将索引在弹性search 但问题开始时,我使用findOneAndUpdate,所以它不会在弹性索引,即使我插入(即保存) MovieSchema.findOneAndUpdate(query, reqObject, { upsert: true }, function(err, results) { if (err) { if (!update) { var filePath = path.join(__dirname, "../../movie/images/uploads/") + reqObject.imageUrl; fs.unlinkSync(filePath); } console.log(err) callback({ RESULT_CODE: '-1', MESSAGE: 'System error. Please try again' }); } else { callback({ RESULT_CODE: '1', MESSAGE: 'Movie inserted' }); } });

Node.js Elasticsearch Mongoosastic From和Size分页

我正在使用Mongoosastic将我的模型索引到Elasticsearch,它的工作非常好,只有问题我有它的From和Size for分页。 根据Mongoosastic API 全查询Elasticsearch的DSL是通过search的方式公开的 基于Elasticsearch Api 从/大小我来这个代码 music.search( {query_string:{ query:term }},{"from" : 0},{"size" : 10}, { hydrate:true }, function(err,results) { console.log(results.hits.hits); }) 之后runnig我想出了这个错误: /home/app/node_modules/mongoosastic/lib/mongoosastic.js:256 cb(null, res); ^ TypeError: object is not a function at /home/app/node_modules/mongoosastic/lib/mongoosastic.js:256:9 at respond (/home/app/node_modules/mongoosastic/node_modules/elasticsearch/src/lib/transport.js:256:9) at checkRespForFailure (/home/app/node_modules/mongoosastic/node_modules/elasticsearch/src/lib/transport.js:203:7) at HttpConnector.<anonymous> (/home/app/node_modules/mongoosastic/node_modules/elasticsearch/src/lib/connectors/http.js:156:7) at IncomingMessage.wrapper (/home/app/node_modules/lodash/index.js:3057:19) at IncomingMessage.emit (events.js:117:20) at _stream_readable.js:944:16 at process._tickCallback […]

弹性的,mongoosastic为什么只索引集合的一部分

我用mongoosastic在mongodb上使用弹性 。 我的问题是当我做一个集合索引。 Mongoosastic仅索引collections的一部分(例如,我的collections有50,000个文件,但是只有3000个是无效的)。 我使用这个代码来生成文档和索引: var post, count = 0, countes = 0; for (i = 0; i < 50000; i++) { post = new BlogPost(req.body) post.save(function() { count++; console.log(count + "\n") //res.redirect('/'); post.on('es-indexed', function() { countes++; console.log('document' + countes + ' indexed'); }); });

elasticsearch mongoosastic count api和min_score

谁知道我怎样才能使用elasticserch中的_count API与mongoosastic和node.js? 另外我不能用min_score查询。 { min_score: 1, query_string: { query : query[ 'search' ] } } 这个查询给我一个错误 [query_parsing_exception] [_na] query malformed,no field after start_object,with {index = users line = 1 col = 11}

弹性search中的unicode(emoji)字符的string查询

我的ES索引中有一些包含表情图标的文章。 我想要search包含特定表情符号的文章。 我使用compose.io作为我的ES提供者,并通过ElasticHQ,我可以看到数据中的表情符号 – 它们在OS X中呈现为图标,所以我假定unicode存储正确。 但是,当我运行这个查询,我没有得到任何结果。 如果我运行纯文本search,我得到我的结果。 我正在使用mongoosastic。 Article.search({query_string: {query: "😕"}}, {fields: "title"}, function(err, results) { if (err) { console.log("error: " + err); } else { console.log("results: " + JSON.stringify(results)); } }); //results: {"took":6,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}

Mongoosastic – {消息:'没有生活的连接'}

我试图使用mongoosasticsearch的目的,但我一直得到'没有生活的连接'错误和映射问题 这是代码 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); routes.js var Job = require('../models/job'); Job.createMapping(function(err, mapping) { if (err) { console.log('error creating mapping (you can safely ignore […]

如何使用mongoosastic + AJAX进行即时search?

我已经成功地configuration了mongoosastic,我试着search,它工作正常,但是当涉及到前端我不确定如何实现这一点,我尝试了很多方法,但不能拿出一个好的解决办法 这是代码。 // For the Search API router.post('/api/search/', function(req, res, next) { Job.search( { query_string: { query: req.body.search } } , function(err, results) { if (err) return next(err); res.json(results); }); }); 所以每当我search与“工程师”有关的东西时,我都会得到一个json数据 所以后端工作完美。 但是,当涉及到jQuery和Ajax我不断收到不好的要求 逻辑:每当插入东西,然后张贴,并find该结果。 这里是前端的jQuery代码。 $('#search').keyup(function() { var search_term = $(this).val(); $.ajax({ type: "POST", url: "/api/search", success: function(){ $('search_results').html(search_term); }, error: function(data){ alert('Error', data); […]

新的elasticsearch 2.1.1版本中的mapper_parsing_exception

问题 :我已经在elasticsearch 1.7.1中创build了映射并且工作正常,但是在更新到2.1.1之后,它会给我例外 例外 response: '{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason" :"analyzer on field [_all] must be set when search_analyzer is set"}],"type":"ma pper_parsing_exception","reason":"Failed to parse mapping [movie]: analyzer on f ield [_all] must be set when search_analyzer is set","caused_by":{"type":"mapper _parsing_exception","reason":"analyzer on field [_all] must be set when search_a nalyzer is set"}},"status":400}', toString: [Function], toJSON: [Function] } { "settings": { "number_of_shards": […]