Created
April 15, 2014 07:27
-
-
Save shangmin1990/10710216 to your computer and use it in GitHub Desktop.
some manipulations for Elasticsearch(how to creat a index ,and query scroll)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * init | |
| */ | |
| (function(bus){ | |
| //var data = []; | |
| var op1 = {}; | |
| var total = 12; | |
| var channel = 'realtime.search'; | |
| var indexAction = { | |
| 'action':'index', | |
| '_index':'benjamin', | |
| '_type':'test1' | |
| } | |
| for(var i=1;i<=total;i++){ | |
| op1.name = 'benjamin'+i; | |
| op1.age = 'age'+i; | |
| op1.address = '北京'+i; | |
| op1.gender = i%2; | |
| op1.email = 'benjamin'+i+'@163.com'; | |
| indexAction._source = op1; | |
| console.log(indexAction); | |
| //send | |
| bus.send(channel,indexAction,function(message){ | |
| console.log(message.body()); | |
| }) | |
| } | |
| })(bus); | |
| /** | |
| * query | scroll scroll的方式进行查询 | |
| */ | |
| (function(bus){ | |
| var channel = 'realtime.search'; | |
| //send a scan action first. ps单表查询 | |
| var action = { | |
| "action": "search", | |
| "_index": 'benjamin', | |
| //"_indices": <indices>, | |
| "_type": 'test1', | |
| //"_types": <types>, | |
| "query": {'match_all':{}}, | |
| "search_type": 'scan', | |
| "scroll": '5m' | |
| } | |
| //发送消息 ,获得一个可滚动游标(理解可能不对,但是代表了scroll查询的两个阶段,这是第一个阶段) | |
| bus.send(channel,action,function(message){ | |
| var scroll_id = message.body()._scroll_id; | |
| //如果message的body里有_scroll_id ,说明有结果,再发送消息(这是第二阶段) | |
| console.log(message.body()+'#########BODY'); | |
| console.log(scroll_id+'#########ID'); | |
| scroll(scroll_id); | |
| }); | |
| var scroll = function(scroll_id){ | |
| var action_ = {'action':'scroll','_scroll_id':scroll_id,'scroll':'5m'}; | |
| bus.send(channel,action_,function(message){ | |
| console.log(JSON.stringify(message.body())); | |
| if(message.body().hits.hits.length !== 0){ | |
| scroll(message.body()._scroll_id); | |
| } | |
| }); | |
| } | |
| })(bus); | |
| //The "breaking" condition out of a scroll is when no hits has been returned.官方文档 | |
| //res DATA example -------------------------- | |
| {"_scroll_id":"c2NhbjswOzE7dG90YWxfaGl0czoxMjs=", | |
| "took":1, | |
| "timed_out":false, | |
| "_shards":{"total":5,"successful":5,"failed":0}, | |
| "hits":{"total":12,"max_score":0, | |
| "hits":[ | |
| {"_index":"benjamin","_type":"test1","_id":"kB8u_j2lQjKzEU_Y6moaOw","_score":0,"_source":{"name":"benjamin11","age":"age11","address":"北京11","gender":1,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"zxl2YPtrToGrGKxOnmVNBA","_score":0,"_source":{"name":"benjamin1","age":"age1","address":"北京1","gender":1,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"3b_I_2pvTlWy_ClkzXY67A","_score":0,"_source":{"name":"benjamin9","age":"age9","address":"北京9","gender":1,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"_WtFy1lCTcq39rqmyceA2A","_score":0,"_source":{"name":"benjamin12","age":"age12","address":"北京12","gender":0,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"dBbcmme3S1as4dPk25PfjA","_score":0,"_source":{"name":"benjamin4","age":"age4","address":"北京4","gender":0,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"M9hAthPlSDOTbQTs1smq_A","_score":0,"_source":{"name":"benjamin3","age":"age3","address":"北京3","gender":1,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"RNuyyfrDRpGH3ls4vBJNZQ","_score":0,"_source":{"name":"benjamin2","age":"age2","address":"北京2","gender":0,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"w2hG8RBNTeKA2lvY6I4ZQQ","_score":0,"_source":{"name":"benjamin10","age":"age10","address":"北京10","gender":0,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"KpqYlA1jRaeKNS7MCMm8sA","_score":0,"_source":{"name":"benjamin6","age":"age6","address":"北京6","gender":0,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"4aczZ71mQxqSaM1NEl1ekA","_score":0,"_source":{"name":"benjamin5","age":"age5","address":"北京5","gender":1,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"FK0bb1VRQMWZeimszsYK3w","_score":0,"_source":{"name":"benjamin7","age":"age7","address":"北京7","gender":1,"email":"[email protected]"}},{"_index":"benjamin","_type":"test1","_id":"8hQ2-3gqT4u-d_a5bOqkBA","_score":0,"_source":{"name":"benjamin8","age":"age8","address":"北京8","gender":0,"email":"[email protected]"}}]}, | |
| "status":"ok"} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment