Articles of elasticsearch

弹性search在启动时嗅探没有活的连接

我为node.js使用弹性searchAPI。 我的代码是: var elasticclient=new Elasticsearch.Client( { sniffOnStart:true, sniffOnConnectionFault:true, sniffInterval:540000, hosts:['\* my elastic servers*\'] } ); 每当我删除sniffOnStart它的作品。 但是,当sniffOnStart保持它试图做一个批量后抛出以下错误: Elasticsearch warnning: date No living connection {Error:No Living connections at … (script paths..) message:'no living connections', body:undefined, status:undefined }

dynamic生成kibana iframe(短url)

我有一个网页有一个select下拉列表几个月,因为它的选项,并与kibana iframe div。 每当用户从下拉列表中select一个月份时,用户界面应该能够将iframe可视化更改为选定的月份。 我已经写了一个简单的代码,只要改变一个月,就更改iframe源。 我现在想能够从Nodejs服务器或Kibana获取这些iframe链接(url)。 <select id="month"> <option value="Jan">Jan</option> <option value="Feb">Feb</option> <option value="Mar">Mar</option> <option value="Apr">Apr</option> </select> <div> <iframe id="monthVisualization"></iframe> </div> /*function that is executed when month is selected from dropdown*/ function changeIframe(month) { /*some code that gets iframe link of visualization of month that is received as parameter*/ var url = someLink; $('#monthVisualization').attr('src', someLink); […]

如何通过弹性search在expressjs中解决Not Found消息

你能告诉我如何解决expressjs这个错误信息 POST /test/_search 404 45.691 ms – 1235 Trace: Not Found 我刚刚尝试这个代码expressjs与elasticsearch /* GET home page. */ router.get('/', function(req, res, next) { client.search({ index: 'test', body:{ query:{ multi_match:{ query: 'i5', fields: ['title'] } } } }).then(function (response) { var hits = response.hits.hits; console.log(response); console.log(response.hits); console.log(response.hits.hits); }, function (error) { console.trace(error.message); }) res.render('index', { title: 'Express'}); […]

node.js lambda函数将logging从sql迁移到elasticsearch,使用队列限制asynchronous调用

我试图在node.js中实现下一个function:我必须从sql到1.200.000logging迁移到elasticsearch,我分成5万批次,一旦我解决了5分钟超时问题,我痛苦了这一点内存问题的aws lambda。 我发现这个async.queue限制在Node.js中的asynchronous调用,但我一定是做错了,因为它不能按预期工作。 我究竟做错了什么? 我怎样才能限制asynchronous调用importSQLData方法? 谢谢。 这是我的代码: exports.importData = function(batchNum,topNum,startNum){ var q = async.queue(function (task, callback) { console.log('hello ' + task.name); callback(); }, 2); q.drain = function () { console.log('all items have been processed'); } for (var y = 1; y <= batchNum; y++) { q.push(importSQLData(topNum, startNum), callback); // I don't know if this is […]

将mongodb与云托pipe的elasticsearch整合在一起

我有一个云托pipe的mongo数据库,也是一个云托pipe的elasticsearch实例。 mongoDB早于ES。 ElasticSearch是我正在尝试configuration的。 我读过mongo-connector是做这件事的方法之一,但是这需要运行一个python服务。 我正在使用Heroku的API。 这是否意味着我需要为mongo连接器启动一个python dyno? 另外,是否有任何node.js连接器,我可以集成到我的API代码库? 我将根据执行简单性和稳健性之间的平衡来select最佳答案。 答案可以解决我所问的两个问题中的任何一个,因为它们都为我解决同样的问题。

Elasticsearch.js项查询返回0个匹配,映射设置为“not_analyzed”

我一直在尝试使用“术语”查询来search我的ES数据库。 我一直得到0点击。 这是我的映射: function initUserMapping() { return elasticClient.indices.putMapping({ index: "user", type: "document", body: { properties: { fullName: { type: "string", index: "not_analyzed" }, email: { type: "string", index: "not_analyzed" }, password: { type: "string", index: "not_analyzed" }, movies: { type: "object" } } } }); } 这是我如何将值添加到“用户”索引(所有值是除电影以外的stringtypes): function addUser(User) { console.log(User); return elasticClient.index({ refresh: true, […]

电子邮件的弹性search查询

我正在尝试使用ElasticSearch实现电子邮件search。 这里是示例文件。 { … "email": "valeri@gmail.com" }, { … "email": "tom@gmail.com" } 所以,当我使用匹配查询: { "match": { "email": "valeri@gmail.com" }} 我同时获得了"valeri@gmail.com"和"tom@gmail.com"但结果必须是"valeri@gmail.com" 。 我认为这是因为@字符。 任何好的解决scheme来解决这个问题?

在弹性search中使用NOT和OR

这是我在弹性search中使用的查询来过滤满足一个条件或不满足其他条件的logging。 { "query": { "query_string": { "query": "(NOT col1: \"val1\") OR (col2: val2)", "analyze_wildcard": true }}} 问题是我不能在nodejs中编写等效的语法来提取信息。 我们不能使用must_not,因为它是OR条件

如何运行elasticsearch-hq?

我正在尝试运行elasticsearch-hq来监视我的ES群集。 据我所知这是一个node.js应用程序。 我试图跑 npm安装 似乎很好..据我所知(这是大多数node.js教程要做的事情…) 但是当我跑步 节点应用程序 它返回: module.js:340 throw err; ^ Error: Cannot find module '/elasticsearch-HQ/app' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3 我该怎么办? 谢谢!

仅从search中返回_source

当我用(官方)nodejs-elasticsearch库执行search查询时,是否有可能只检索_source文档? 根据文件,似乎有一种方式, 使用/ {index} / {type} / {id} / _ source端点来获取文档的_source字段,而不需要任何额外的内容。 例如: curl -XGET 'http://localhost:9200/twitter/tweet/1/_source' 并且nodejs库中相应的API调用是: client.getSource([params, [callback]]) 但是,这种方法似乎只能以ID为基础检索文档。 我需要发出一个完整的search主体(使用filter和query_strings和whatnot),这种方法不支持。 我正在运行ES 1.4