reader.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. require("./date.js")
  2. var rwc = require('random-weighted-choice');
  3. _ = require("./underscore.min.js")
  4. fs = require('fs')
  5. fs.readFile('shakespeare.json', 'utf8', function (err,data) {
  6. i = 0;
  7. if (err) {
  8. return console.log(err);
  9. }
  10. var obj = JSON.parse(data);
  11. _.each(obj, function (o) {
  12. setTimeout(print_obj(o), 10000) //wait ten seconds before continuing
  13. });
  14. function getRandomInRange(from, to, fixed) {
  15. return (Math.random() * (to - from) + from).toFixed(fixed) * 1;
  16. }
  17. function print_obj(o) {
  18. var countries = get_countries();
  19. var randomnumber=Math.floor(Math.random()*28800000)
  20. var command = {index:{_index: "shakespeare", _type: "line", _id: i}};
  21. o['@timestamp'] = new Date((new Date()).getTime() -9000000 + randomnumber);
  22. o.geo = [getRandomInRange(-90, 90, 3),getRandomInRange(-180, 180, 3)]
  23. o.country = rwc(countries);
  24. console.log(JSON.stringify(command))
  25. console.log(JSON.stringify(o));
  26. i = i + 1;
  27. }
  28. function get_countries() {
  29. return [{id:"CN",weight:1330044000},
  30. {id:"IN",weight:1173108018},
  31. {id:"US",weight:610232863},
  32. {id:"ID",weight:242968342},
  33. {id:"BR",weight:201103330},
  34. {id:"PK",weight:184404791},
  35. {id:"BD",weight:156118464},
  36. {id:"NG",weight:154000000},
  37. {id:"RU",weight:140702000},
  38. {id:"JP",weight:127288000},
  39. {id:"MX",weight:112468855},
  40. {id:"PH",weight:99900177},
  41. {id:"VN",weight:89571130},
  42. {id:"ET",weight:88013491},
  43. {id:"DE",weight:81802257},
  44. {id:"EG",weight:80471869},
  45. {id:"TR",weight:77804122},
  46. {id:"IR",weight:76923300},
  47. {id:"CD",weight:70916439},
  48. {id:"TH",weight:67089500},
  49. {id:"FR",weight:64768389},
  50. {id:"GB",weight:62348447},
  51. {id:"IT",weight:60340328},
  52. {id:"MM",weight:53414374},
  53. {id:"ZA",weight:49000000},
  54. {id:"KR",weight:48422644},
  55. {id:"ES",weight:46505963},
  56. {id:"UA",weight:45415596},
  57. {id:"CO",weight:44205293},
  58. {id:"TZ",weight:41892895},
  59. {id:"AR",weight:41343201},
  60. {id:"KE",weight:40046566},
  61. {id:"PL",weight:38500000},
  62. {id:"SD",weight:35000000},
  63. {id:"DZ",weight:34586184},
  64. {id:"CA",weight:33679000},
  65. {id:"UG",weight:33398682},
  66. {id:"MA",weight:31627428},
  67. {id:"PE",weight:29907003},
  68. {id:"IQ",weight:29671605},
  69. {id:"AF",weight:29121286},
  70. {id:"NP",weight:28951852},
  71. {id:"MY",weight:28274729},
  72. {id:"UZ",weight:27865738},
  73. {id:"VE",weight:27223228},
  74. {id:"SA",weight:25731776},
  75. {id:"GH",weight:24339838},
  76. {id:"YE",weight:23495361},
  77. {id:"KP",weight:22912177},
  78. {id:"TW",weight:22894384},
  79. {id:"SY",weight:22198110},
  80. {id:"MZ",weight:22061451},
  81. {id:"RO",weight:21959278},
  82. {id:"AU",weight:21515754},
  83. {id:"LK",weight:21513990},
  84. {id:"MG",weight:21281844},
  85. {id:"CI",weight:21058798},
  86. {id:"CM",weight:19294149},
  87. {id:"CL",weight:16746491},
  88. {id:"NL",weight:16645000},
  89. {id:"BF",weight:16241811},
  90. {id:"NE",weight:15878271},
  91. {id:"MW",weight:15447500},
  92. {id:"KZ",weight:15340000},
  93. {id:"EC",weight:14790608},
  94. {id:"KH",weight:14453680},
  95. {id:"ML",weight:13796354},
  96. {id:"GT",weight:13550440},
  97. {id:"ZM",weight:13460305},
  98. {id:"AO",weight:13068161},
  99. {id:"SN",weight:12323252},
  100. {id:"ZW",weight:11651858},
  101. {id:"CU",weight:11423000},
  102. {id:"RW",weight:11055976},
  103. {id:"GR",weight:11000000},
  104. {id:"CS",weight:10829175},
  105. {id:"PT",weight:10676000},
  106. {id:"TN",weight:10589025},
  107. {id:"TD",weight:10543464},
  108. {id:"CZ",weight:10476000},
  109. {id:"BE",weight:10403000},
  110. {id:"GN",weight:10324025},
  111. {id:"SO",weight:10112453},
  112. {id:"BO",weight:9947418},
  113. {id:"HU",weight:9930000},
  114. {id:"BI",weight:9863117},
  115. {id:"DO",weight:9823821},
  116. {id:"BY",weight:9685000},
  117. {id:"HT",weight:9648924},
  118. {id:"BJ",weight:9056010},
  119. {id:"SE",weight:9045000},
  120. {id:"AZ",weight:8303512},
  121. {id:"SS",weight:8260490},
  122. {id:"AT",weight:8205000},
  123. {id:"HN",weight:7989415},
  124. {id:"CH",weight:7581000},
  125. {id:"TJ",weight:7487489},
  126. {id:"IL",weight:7353985},
  127. {id:"RS",weight:7344847},
  128. {id:"BG",weight:7148785},
  129. {id:"HK",weight:6898686},
  130. {id:"TG",weight:6587239},
  131. {id:"LY",weight:6461454},
  132. {id:"JO",weight:6407085},
  133. {id:"PY",weight:6375830},
  134. {id:"LA",weight:6368162},
  135. {id:"PG",weight:6064515},
  136. {id:"SV",weight:6052064},
  137. {id:"NI",weight:5995928},
  138. {id:"ER",weight:5792984},
  139. {id:"KG",weight:5508626},
  140. {id:"DK",weight:5484000},
  141. {id:"SK",weight:5455000},
  142. {id:"SL",weight:5245695},
  143. {id:"FI",weight:5244000},
  144. {id:"NO",weight:5009150},
  145. {id:"AE",weight:4975593},
  146. {id:"TM",weight:4940916},
  147. {id:"CF",weight:4844927},
  148. {id:"SG",weight:4701069},
  149. {id:"GE",weight:4630000},
  150. {id:"IE",weight:4622917},
  151. {id:"BA",weight:4590000},
  152. {id:"CR",weight:4516220},
  153. {id:"HR",weight:4491000},
  154. {id:"MD",weight:4324000},
  155. {id:"NZ",weight:4252277},
  156. {id:"LB",weight:4125247},
  157. {id:"PR",weight:3916632},
  158. {id:"PS",weight:3800000},
  159. {id:"LR",weight:3685076},
  160. {id:"LT",weight:3565000},
  161. {id:"UY",weight:3477000},
  162. {id:"PA",weight:3410676},
  163. {id:"MR",weight:3205060},
  164. {id:"MN",weight:3086918},
  165. {id:"CG",weight:3039126},
  166. {id:"AL",weight:2986952},
  167. {id:"AM",weight:2968000},
  168. {id:"OM",weight:2967717},
  169. {id:"JM",weight:2847232},
  170. {id:"KW",weight:2789132},
  171. {id:"LV",weight:2217969},
  172. {id:"NA",weight:2128471},
  173. {id:"MK",weight:2061000},
  174. {id:"BW",weight:2029307},
  175. {id:"SI",weight:2007000},
  176. {id:"LS",weight:1919552},
  177. {id:"XK",weight:1800000},
  178. {id:"GM",weight:1593256},
  179. {id:"GW",weight:1565126},
  180. {id:"GA",weight:1545255},
  181. {id:"SZ",weight:1354051},
  182. {id:"MU",weight:1294104},
  183. {id:"EE",weight:1291170},
  184. {id:"TT",weight:1228691},
  185. {id:"TL",weight:1154625},
  186. {id:"CY",weight:1102677},
  187. {id:"GQ",weight:1014999},
  188. {id:"FJ",weight:875983},
  189. {id:"QA",weight:840926},
  190. {id:"RE",weight:776948},
  191. {id:"KM",weight:773407},
  192. {id:"GY",weight:748486},
  193. {id:"DJ",weight:740528},
  194. {id:"BH",weight:738004},
  195. {id:"BT",weight:699847},
  196. {id:"ME",weight:666730},
  197. {id:"SB",weight:559198},
  198. {id:"CV",weight:508659},
  199. {id:"LU",weight:497538},
  200. {id:"SR",weight:492829},
  201. {id:"MO",weight:449198},
  202. {id:"GP",weight:443000},
  203. {id:"MQ",weight:432900},
  204. {id:"MT",weight:403000},
  205. {id:"MV",weight:395650},
  206. {id:"BN",weight:395027},
  207. {id:"BZ",weight:314522},
  208. {id:"IS",weight:308910},
  209. {id:"BS",weight:301790},
  210. {id:"BB",weight:285653},
  211. {id:"EH",weight:273008},
  212. {id:"PF",weight:270485},
  213. {id:"VU",weight:221552},
  214. {id:"NC",weight:216494},
  215. {id:"GF",weight:195506},
  216. {id:"WS",weight:192001},
  217. {id:"ST",weight:175808},
  218. {id:"LC",weight:160922},
  219. {id:"GU",weight:159358},
  220. {id:"YT",weight:159042},
  221. {id:"CW",weight:141766},
  222. {id:"AN",weight:136197},
  223. {id:"TO",weight:122580},
  224. {id:"VI",weight:108708},
  225. {id:"GD",weight:107818},
  226. {id:"FM",weight:107708},
  227. {id:"VC",weight:104217},
  228. {id:"KI",weight:92533},
  229. {id:"JE",weight:90812},
  230. {id:"SC",weight:88340},
  231. {id:"AG",weight:86754},
  232. {id:"AD",weight:84000},
  233. {id:"IM",weight:75049},
  234. {id:"DM",weight:72813},
  235. {id:"AW",weight:71566},
  236. {id:"MH",weight:65859},
  237. {id:"BM",weight:65365},
  238. {id:"GG",weight:65228},
  239. {id:"AS",weight:57881},
  240. {id:"GL",weight:56375},
  241. {id:"MP",weight:53883},
  242. {id:"KN",weight:49898},
  243. {id:"FO",weight:48228},
  244. {id:"KY",weight:44270},
  245. {id:"SX",weight:37429},
  246. {id:"MF",weight:35925},
  247. {id:"LI",weight:35000},
  248. {id:"MC",weight:32965},
  249. {id:"SM",weight:31477},
  250. {id:"GI",weight:27884},
  251. {id:"AX",weight:26711},
  252. {id:"VG",weight:21730},
  253. {id:"CK",weight:21388},
  254. {id:"TC",weight:20556},
  255. {id:"PW",weight:19907},
  256. {id:"BQ",weight:18012},
  257. {id:"WF",weight:16025},
  258. {id:"AI",weight:13254},
  259. {id:"TV",weight:10472},
  260. {id:"NR",weight:10065},
  261. {id:"MS",weight:9341},
  262. {id:"BL",weight:8450},
  263. {id:"SH",weight:7460},
  264. {id:"PM",weight:7012},
  265. {id:"IO",weight:4000},
  266. {id:"FK",weight:2638},
  267. {id:"SJ",weight:2550},
  268. {id:"NU",weight:2166},
  269. {id:"NF",weight:1828},
  270. {id:"CX",weight:1500},
  271. {id:"TK",weight:1466},
  272. {id:"VA",weight:921},
  273. {id:"CC",weight:628},
  274. {id:"TF",weight:140},
  275. {id:"PN",weight:46},
  276. {id:"GS",weight:30}];
  277. }
  278. });