Tag: elasticsearch

如何使用弹性(ELK)堆栈logging嵌套对象

我正尝试通过NodeJS将具有嵌套属性的JSON值logging到logzio ELK堆栈 代码是: var logger = require('logzio-nodejs').createLogger({ token: config.LOGZIO_API_KEY }); // sending text logger.log('This is a log message'); // sending an object var obj = { message: 'Some log message', param1: 'val1', param2: 'val2' }; logger.log(obj); 这工作正常,但如果我想logging嵌套的数据,如: // sending an object var obj = { message: 'Some log message', param1: { a : 'b', c […]

embedded式Mongoose的弹性search

我有以下mongoose模式: var ReviewSchema = new Schema({ title: String, details: String, user: {type: ObjectId, ref:'User'}, }); var SubjectSchema = new Schema({ name: {type: String, required: true}, website: {type: String, index: { unique: true }}, review: {type: [ReviewSchema], es_indexed:true} }); 我有另一个User纲要,在Review引用。 我试过mongoosastic插件,但我无法find方法索引引用的架构。 我想索引评论用户的名字。 所以我只是用这个弹性search客户端。 每创build/更新/删除评论,我都在数据库中查找,并用从数据库中取回的值更新弹性search索引。 在更新embedded式模式时是否有更好的方法来更新索引? 谢谢

使用节点js进行弹性searchsorting

出于某种原因,当我试图从索引中search和sorting 这工作: GET indexName/_search { "sort": [{ "_uid": { "order": "desc" } }], "size": 1 } 但是,当使用像这样的节点js: elasticClient.search({ index: indexName, type: id, sort: [{ "_uid": { "order": "desc" } }], size: 1 }) 它返回一个错误: No mapping found for [[object Object]] in order to sort on status :400 我试过JSON.stringify和所有其他的东西,但没有一个是JSON.stringify 请帮帮我吗?

NodeJs-ElasticSearch批量APIerror handling

如果Elastic Bulk API在一个或多个操作上失败,我找不到任何文档。 例如,对于以下请求,假设已经有一个ID为“3”的文档,所以“创build”应该失败 – 这是否会失败所有其他操作 ? { "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } } { "field1" : "value1" } { "delete" : { "_index" : "test", "_type" : "type1", "_id" : "2" } } { "create" : { "_index" : "test", "_type" : "type1", "_id" : "3" […]

全文search的想法MongoDB&node.js

我正在为我的网站开发一个search引擎,我想添加以下function; 全文search 你的意思是function 数据存储在MongoDB中 我想做一个宁静的后端。 我将手动添加数据到mongodb,它将被索引(哪一个我可以更喜欢Mongodb索引或一些其他search索引库,如Lucene)。 我也想用node.js 这些是我从研究中发现的。 任何想法将不胜感激的架构 提前致谢

弹性search大小无限

对于弹性search来说是新的。 我面临一个问题,写一个search查询返回我的集合中所有匹配的logging。 以下是我对查询logging的查询 { "size":"total no of record" // Here i need to get total no of records in collection "query": { "match": { "first_name": "vineeth" } } } 通过运行这个查询,我只能得到最多10条logging,确保我的集合中有超过10条匹配的logging。 我search了很多,最终在查询中获得了大小参数。 但在我的情况下,我不知道logging的总数。 我想给一个无限数量的大小variables不是一个好的做法,所以如何pipe理这种情况请帮我解决这个问题,谢谢

如何阅读与node.js或JavaScript文件的行延迟,而不是在非阻塞行为?

我在node.js中读取一个文件(300,000行)。 我想要批量发送5000行的行到另一个应用程序(Elasticsearch)来存储它们。 所以每当我读完5000行时,我想通过一个API将它们批量发送给Elasticsearch,然后继续阅读文件的其余部分,每批发送5000行。 如果我想要使用java(或任何其他阻塞语言,如C,C ++,python等)来完成这个任务,我会这样做: int countLines = 0; String bulkString = ""; BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("filePath.txt"))); while ((currentLine = br.readLine()) != null) { countLines++; bulkString += currentLine; if(countLines >= 5000){ //send bulkString to Elasticsearch via APIs countLines = 0; bulkString = ""; } } 如果我想用node.js做同样的事情,我会做: var countLines = 0; var bulkString […]

如何确保在ElasticSearch盆景免费实例中使用Firebase FlashLight为每个对象build立索引

感谢FlashLight https://github.com/firebase/flashlight教程,这对于使用Firebase进行全文search非常简单。 但是,如果保留免费的ES实例,并发访问将受到限制,当您启动节点应用程序时,会在日志中看到以下消息: 无法索引firebase / xxx / -KHLhdwGplb3lHWjm8RS:错误:超出并发请求限制。 请考虑批量处理您的请求,或联系support@bonsai.io寻求帮助。 如何解决这个问题?

如何检查ElasticSearch客户端是否连接?

我正在使用elasticsearch-js (NodeJS),只要ElasticSearch正在运行,一切正常。 但是,我想知道我的连接在尝试调用其中一个客户端方法之前是处于活动状态。 我以同步的方式做了一些事情,但只是为了性能testing的目的(例如,检查我是否有一个空索引工作,摄取一些数据,查询数据)。 看这样的片段: var elasticClient = new elasticsearch.Client({ host: ((options.host || 'localhost') + ':' + (options.port || '9200')) }); // Note, I already have promise handling implemented, omitting it for brevity though var promise = elasticClient.indices.delete({index: "_all"}); /// … 是否有一些机制发送到客户端configuration快速失败,或者我可以在客户端上执行一些testing,以确保它在调用delete之前打开? 更新:2015-05-22 我不确定这是否正确,但也许尝试获取客户端统计信息是合理的? var getStats = elasticClient.nodes.stats(); getStats.then(function(o){ console.log(o); }) .catch(function(e){ console.log(e); throw e; […]

如何删除使用node.js的弹性search中的所有索引?

该文档build议使用以下function删除特定索引: client.delete({ index: 'myindex', type: 'mytype', id: '1' }, function (error, response) { // … }); 我已经适应了: client.delete({ index: '_all' }, function (error, response) { // … }); 但是,这给了我以下错误: Unable to build a path with those params. Supply at least index, type, id 我一直在寻找几个小时无济于事,任何人有任何想法?