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 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":"benjamin11@163.com"}},{"_index":"benjamin","_type":"test1","_id":"zxl2YPtrToGrGKxOnmVNBA","_score":0,"_source":{"name":"benjamin1","age":"age1","address":"北京1","gender":1,"email":"benjamin1@163.com"}},{"_index":"benjamin","_type":"test1","_id":"3b_I_2pvTlWy_ClkzXY67A","_score":0,"_source":{"name":"benjamin9","age":"age9","address":"北京9","gender":1,"email":"benjamin9@163.com"}},{"_index":"benjamin","_type":"test1","_id":"_WtFy1lCTcq39rqmyceA2A","_score":0,"_source":{"name":"benjamin12","age":"age12","address":"北京12","gender":0,"email":"benjamin12@163.com"}},{"_index":"benjamin","_type":"test1","_id":"dBbcmme3S1as4dPk25PfjA","_score":0,"_source":{"name":"benjamin4","age":"age4","address":"北京4","gender":0,"email":"benjamin4@163.com"}},{"_index":"benjamin","_type":"test1","_id":"M9hAthPlSDOTbQTs1smq_A","_score":0,"_source":{"name":"benjamin3","age":"age3","address":"北京3","gender":1,"email":"benjamin3@163.com"}},{"_index":"benjamin","_type":"test1","_id":"RNuyyfrDRpGH3ls4vBJNZQ","_score":0,"_source":{"name":"benjamin2","age":"age2","address":"北京2","gender":0,"email":"benjamin2@163.com"}},{"_index":"benjamin","_type":"test1","_id":"w2hG8RBNTeKA2lvY6I4ZQQ","_score":0,"_source":{"name":"benjamin10","age":"age10","address":"北京10","gender":0,"email":"benjamin10@163.com"}},{"_index":"benjamin","_type":"test1","_id":"KpqYlA1jRaeKNS7MCMm8sA","_score":0,"_source":{"name":"benjamin6","age":"age6","address":"北京6","gender":0,"email":"benjamin6@163.com"}},{"_index":"benjamin","_type":"test1","_id":"4aczZ71mQxqSaM1NEl1ekA","_score":0,"_source":{"name":"benjamin5","age":"age5","address":"北京5","gender":1,"email":"benjamin5@163.com"}},{"_index":"benjamin","_type":"test1","_id":"FK0bb1VRQMWZeimszsYK3w","_score":0,"_source":{"name":"benjamin7","age":"age7","address":"北京7","gender":1,"email":"benjamin7@163.com"}},{"_index":"benjamin","_type":"test1","_id":"8hQ2-3gqT4u-d_a5bOqkBA","_score":0,"_source":{"name":"benjamin8","age":"age8","address":"北京8","gender":0,"email":"benjamin8@163.com"}}]}, | |
"status":"ok"} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment