lemon-core 2.2.19 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/README.md +11 -20
  2. package/dist/common/test-helper.js +1 -1
  3. package/dist/common/test-helper.js.map +1 -1
  4. package/dist/controllers/dummy-controller.js.map +1 -1
  5. package/dist/cores/api-service.js.map +1 -1
  6. package/dist/cores/aws/aws-s3-service.d.ts +24 -46
  7. package/dist/cores/aws/aws-s3-service.js +103 -223
  8. package/dist/cores/aws/aws-s3-service.js.map +1 -1
  9. package/dist/cores/aws/aws-sns-service.js +3 -3
  10. package/dist/cores/aws/aws-sns-service.js.map +1 -1
  11. package/dist/cores/cache-service.js +12 -12
  12. package/dist/cores/cache-service.js.map +1 -1
  13. package/dist/cores/core-types.d.ts +92 -2
  14. package/dist/cores/core-types.js +1 -0
  15. package/dist/cores/core-types.js.map +1 -1
  16. package/dist/cores/dynamo-service.js +2 -2
  17. package/dist/cores/dynamo-service.js.map +1 -1
  18. package/dist/cores/elastic6-query-service.d.ts +42 -9
  19. package/dist/cores/elastic6-query-service.js +144 -134
  20. package/dist/cores/elastic6-query-service.js.map +1 -1
  21. package/dist/cores/elastic6-service.d.ts +144 -57
  22. package/dist/cores/elastic6-service.js +506 -322
  23. package/dist/cores/elastic6-service.js.map +1 -1
  24. package/dist/cores/lambda/lambda-cognito-handler.js.map +1 -1
  25. package/dist/cores/lambda/lambda-cron-handler.js.map +1 -1
  26. package/dist/cores/lambda/lambda-dynamo-stream-handler.js +3 -3
  27. package/dist/cores/lambda/lambda-dynamo-stream-handler.js.map +1 -1
  28. package/dist/cores/lambda/lambda-notification-handler.js.map +1 -1
  29. package/dist/cores/lambda/lambda-sns-handler.js.map +1 -1
  30. package/dist/cores/lambda/lambda-web-handler.js +2 -4
  31. package/dist/cores/lambda/lambda-web-handler.js.map +1 -1
  32. package/dist/cores/lambda/lambda-wss-handler.js.map +1 -1
  33. package/dist/cores/protocol/protocol-service.d.ts +1 -2
  34. package/dist/cores/protocol/protocol-service.js +5 -3
  35. package/dist/cores/protocol/protocol-service.js.map +1 -1
  36. package/dist/engine/builder.d.ts +1 -0
  37. package/dist/engine/builder.js +1 -1
  38. package/dist/engine/builder.js.map +1 -1
  39. package/dist/engine/engine.js +2 -1
  40. package/dist/engine/engine.js.map +1 -1
  41. package/dist/engine/index.d.ts +0 -1
  42. package/dist/engine/index.js +2 -4
  43. package/dist/engine/index.js.map +1 -1
  44. package/dist/engine/types.d.ts +0 -4
  45. package/dist/engine/types.js.map +1 -1
  46. package/dist/engine/utilities.d.ts +5 -1
  47. package/dist/engine/utilities.js +126 -11
  48. package/dist/engine/utilities.js.map +1 -1
  49. package/dist/helpers/helpers.d.ts +266 -0
  50. package/dist/helpers/helpers.js +600 -0
  51. package/dist/helpers/helpers.js.map +1 -0
  52. package/dist/helpers/index.d.ts +10 -0
  53. package/dist/helpers/index.js +23 -0
  54. package/dist/helpers/index.js.map +1 -0
  55. package/dist/index.d.ts +1 -0
  56. package/dist/index.js +1 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/tools/express.js +0 -3
  59. package/dist/tools/express.js.map +1 -1
  60. package/dist/tools/helpers.d.ts +243 -0
  61. package/dist/tools/helpers.js +593 -0
  62. package/dist/tools/helpers.js.map +1 -0
  63. package/package.json +5 -12
  64. package/CHANGELOG.md +0 -61
  65. package/dist/docs/assets/css/main.css +0 -2321
  66. package/dist/docs/assets/images/icons.png +0 -0
  67. package/dist/docs/assets/images/icons@2x.png +0 -0
  68. package/dist/docs/assets/images/widgets.png +0 -0
  69. package/dist/docs/assets/images/widgets@2x.png +0 -0
  70. package/dist/docs/assets/js/main.js +0 -1
  71. package/dist/docs/assets/js/search.js +0 -3
  72. package/dist/docs/classes/abstractmanager.html +0 -1054
  73. package/dist/docs/classes/apiproxyclient.html +0 -509
  74. package/dist/docs/classes/apiservice.html +0 -805
  75. package/dist/docs/classes/awskmsservice.html +0 -468
  76. package/dist/docs/classes/awsmodule.html +0 -353
  77. package/dist/docs/classes/awss3service.html +0 -689
  78. package/dist/docs/classes/awssnsservice.html +0 -543
  79. package/dist/docs/classes/awssqsservice.html +0 -517
  80. package/dist/docs/classes/cacheservice.html +0 -996
  81. package/dist/docs/classes/configmodule.html +0 -311
  82. package/dist/docs/classes/dummycacheservice.html +0 -1000
  83. package/dist/docs/classes/dummycontroller.html +0 -709
  84. package/dist/docs/classes/dummydynamoservice.html +0 -915
  85. package/dist/docs/classes/dummyelastic6service.html +0 -791
  86. package/dist/docs/classes/dummyredisstorageservice.html +0 -804
  87. package/dist/docs/classes/dummystoragemaker.html +0 -383
  88. package/dist/docs/classes/dummystorageservice.html +0 -592
  89. package/dist/docs/classes/dynamoqueryservice.html +0 -413
  90. package/dist/docs/classes/dynamoscanservice.html +0 -358
  91. package/dist/docs/classes/dynamoservice.html +0 -844
  92. package/dist/docs/classes/dynamostorageservice.html +0 -623
  93. package/dist/docs/classes/elastic6queryservice.html +0 -458
  94. package/dist/docs/classes/elastic6service.html +0 -804
  95. package/dist/docs/classes/file.html +0 -579
  96. package/dist/docs/classes/generalapicontroller.html +0 -877
  97. package/dist/docs/classes/generalcontroller.html +0 -454
  98. package/dist/docs/classes/generalcontrollerlocal.html +0 -499
  99. package/dist/docs/classes/generalcontrollerlocal2.html +0 -523
  100. package/dist/docs/classes/generalkeymaker.html +0 -335
  101. package/dist/docs/classes/generalmodelfilter.html +0 -529
  102. package/dist/docs/classes/generalwebcontroller.html +0 -580
  103. package/dist/docs/classes/hangulservice.html +0 -636
  104. package/dist/docs/classes/httpstorageservice.html +0 -539
  105. package/dist/docs/classes/lambdacognitohandler.html +0 -355
  106. package/dist/docs/classes/lambdacronhandler.html +0 -390
  107. package/dist/docs/classes/lambdacronhandlerlocal.html +0 -371
  108. package/dist/docs/classes/lambdadynamostreamhandler.html +0 -472
  109. package/dist/docs/classes/lambdadynamostreamhandlerlocal.html +0 -455
  110. package/dist/docs/classes/lambdahandler.html +0 -479
  111. package/dist/docs/classes/lambdahandlerlocal.html +0 -472
  112. package/dist/docs/classes/lambdamodule.html +0 -433
  113. package/dist/docs/classes/lambdanotificationhandler.html +0 -474
  114. package/dist/docs/classes/lambdanotificationhandlerlocal.html +0 -457
  115. package/dist/docs/classes/lambdasnshandler.html +0 -394
  116. package/dist/docs/classes/lambdasnshandlerlocal.html +0 -397
  117. package/dist/docs/classes/lambdasqshandler.html +0 -394
  118. package/dist/docs/classes/lambdasqshandlerlocal.html +0 -397
  119. package/dist/docs/classes/lambdasubhandler.html +0 -305
  120. package/dist/docs/classes/lambdawebhandler.html +0 -603
  121. package/dist/docs/classes/lambdawebhandlerlocal.html +0 -581
  122. package/dist/docs/classes/lambdawsshandler.html +0 -359
  123. package/dist/docs/classes/memcachedbackend.html +0 -900
  124. package/dist/docs/classes/mocksapiservice.html +0 -691
  125. package/dist/docs/classes/modelutil.html +0 -311
  126. package/dist/docs/classes/myconfigservice.html +0 -561
  127. package/dist/docs/classes/myconfigservicetest.html +0 -527
  128. package/dist/docs/classes/myconfigservicetest2.html +0 -522
  129. package/dist/docs/classes/mydummysqsservice.html +0 -419
  130. package/dist/docs/classes/myenginemodules.html +0 -357
  131. package/dist/docs/classes/mygeneralapicontroller.html +0 -837
  132. package/dist/docs/classes/mylemonwebcontroller.html +0 -356
  133. package/dist/docs/classes/mymodelfilter.html +0 -479
  134. package/dist/docs/classes/myprotocolservice.html +0 -993
  135. package/dist/docs/classes/myprotocolservicetest.html +0 -983
  136. package/dist/docs/classes/myservice.html +0 -329
  137. package/dist/docs/classes/mystorage.html +0 -1370
  138. package/dist/docs/classes/nodecachebackend.html +0 -714
  139. package/dist/docs/classes/protocolmodule.html +0 -311
  140. package/dist/docs/classes/proxystorageservice.html +0 -1441
  141. package/dist/docs/classes/query.html +0 -850
  142. package/dist/docs/classes/redisbackend.html +0 -781
  143. package/dist/docs/classes/redisstorageservice.html +0 -867
  144. package/dist/docs/classes/scan.html +0 -685
  145. package/dist/docs/classes/snsprotocoltransformer.html +0 -334
  146. package/dist/docs/classes/sqsprotocoltransformer.html +0 -334
  147. package/dist/docs/classes/typedstorageservice.html +0 -914
  148. package/dist/docs/classes/uniquefieldmanager.html +0 -477
  149. package/dist/docs/classes/usermanager.html +0 -931
  150. package/dist/docs/classes/utilities.html +0 -1914
  151. package/dist/docs/classes/webprotocoltransformer.html +0 -330
  152. package/dist/docs/globals.html +0 -7477
  153. package/dist/docs/index.html +0 -1515
  154. package/dist/docs/interfaces/accountitem.html +0 -277
  155. package/dist/docs/interfaces/accountmodel.html +0 -306
  156. package/dist/docs/interfaces/adaptiveparam.html +0 -203
  157. package/dist/docs/interfaces/apiheaders.html +0 -183
  158. package/dist/docs/interfaces/apihttpproxy.html +0 -304
  159. package/dist/docs/interfaces/apiserviceclient.html +0 -448
  160. package/dist/docs/interfaces/autocompletesearchparam.html +0 -309
  161. package/dist/docs/interfaces/betweencondition.html +0 -226
  162. package/dist/docs/interfaces/cachebackend.html +0 -714
  163. package/dist/docs/interfaces/cacheentry.html +0 -248
  164. package/dist/docs/interfaces/cacheoptions.html +0 -267
  165. package/dist/docs/interfaces/callbackdata.html +0 -279
  166. package/dist/docs/interfaces/callbackparam.html +0 -252
  167. package/dist/docs/interfaces/comparisoncondition.html +0 -226
  168. package/dist/docs/interfaces/coreconfigservice.html +0 -342
  169. package/dist/docs/interfaces/corekey.html +0 -278
  170. package/dist/docs/interfaces/corekeymakeable.html +0 -292
  171. package/dist/docs/interfaces/corekmsservice.html +0 -311
  172. package/dist/docs/interfaces/coremodel.html +0 -499
  173. package/dist/docs/interfaces/coremodelfilterable.html +0 -281
  174. package/dist/docs/interfaces/cores3service.html +0 -485
  175. package/dist/docs/interfaces/coreservices.html +0 -232
  176. package/dist/docs/interfaces/coresnsservice.html +0 -317
  177. package/dist/docs/interfaces/corewebcontroller.html +0 -271
  178. package/dist/docs/interfaces/cronevent.html +0 -223
  179. package/dist/docs/interfaces/cronparam.html +0 -212
  180. package/dist/docs/interfaces/dynamooption.html +0 -254
  181. package/dist/docs/interfaces/dynamoqueryresult.html +0 -244
  182. package/dist/docs/interfaces/dynamoscanresult.html +0 -244
  183. package/dist/docs/interfaces/dynamosimplequeriable.html +0 -308
  184. package/dist/docs/interfaces/dynamosimplescannable.html +0 -255
  185. package/dist/docs/interfaces/dynamostreambody.html +0 -268
  186. package/dist/docs/interfaces/dynamostreamcallback.html +0 -209
  187. package/dist/docs/interfaces/dynamostreamfilter.html +0 -218
  188. package/dist/docs/interfaces/dynamostreamparam.html +0 -240
  189. package/dist/docs/interfaces/elastic6item.html +0 -221
  190. package/dist/docs/interfaces/elastic6option.html +0 -275
  191. package/dist/docs/interfaces/elastic6simplequeriable.html +0 -284
  192. package/dist/docs/interfaces/engineconsole.html +0 -292
  193. package/dist/docs/interfaces/enginecore.html +0 -344
  194. package/dist/docs/interfaces/enginemodule.html +0 -269
  195. package/dist/docs/interfaces/enginemodules.html +0 -316
  196. package/dist/docs/interfaces/engineoption.html +0 -244
  197. package/dist/docs/interfaces/enginescope.html +0 -220
  198. package/dist/docs/interfaces/existencecondition.html +0 -212
  199. package/dist/docs/interfaces/filter.html +0 -253
  200. package/dist/docs/interfaces/generalfuntion.html +0 -207
  201. package/dist/docs/interfaces/generalitem.html +0 -212
  202. package/dist/docs/interfaces/handlermap.html +0 -171
  203. package/dist/docs/interfaces/incrementable.html +0 -190
  204. package/dist/docs/interfaces/internalkey.html +0 -210
  205. package/dist/docs/interfaces/internalmodel.html +0 -226
  206. package/dist/docs/interfaces/itementry.html +0 -241
  207. package/dist/docs/interfaces/jwtcommon.html +0 -242
  208. package/dist/docs/interfaces/lambdahandlerservice.html +0 -340
  209. package/dist/docs/interfaces/lemonengine.html +0 -593
  210. package/dist/docs/interfaces/metricpostbody.html +0 -220
  211. package/dist/docs/interfaces/mygeneral.html +0 -271
  212. package/dist/docs/interfaces/mymodel.html +0 -554
  213. package/dist/docs/interfaces/myprotocolparam.html +0 -359
  214. package/dist/docs/interfaces/nextcontext.html +0 -381
  215. package/dist/docs/interfaces/nextidentity.html +0 -325
  216. package/dist/docs/interfaces/nextidentityaccess.html +0 -495
  217. package/dist/docs/interfaces/nextidentitycognito.html +0 -422
  218. package/dist/docs/interfaces/notificationbody.html +0 -171
  219. package/dist/docs/interfaces/notificationparam.html +0 -304
  220. package/dist/docs/interfaces/options.html +0 -226
  221. package/dist/docs/interfaces/parrallelcallback.html +0 -203
  222. package/dist/docs/interfaces/parrallelparam.html +0 -285
  223. package/dist/docs/interfaces/protocolbody.html +0 -183
  224. package/dist/docs/interfaces/protocolparam.html +0 -336
  225. package/dist/docs/interfaces/protocolservice.html +0 -548
  226. package/dist/docs/interfaces/protocoltransformer.html +0 -295
  227. package/dist/docs/interfaces/proxyparams.html +0 -212
  228. package/dist/docs/interfaces/putobjectresult.html +0 -282
  229. package/dist/docs/interfaces/queryresult.html +0 -272
  230. package/dist/docs/interfaces/redisoptions.html +0 -248
  231. package/dist/docs/interfaces/simplesearchparam.html +0 -351
  232. package/dist/docs/interfaces/slackaction.html +0 -240
  233. package/dist/docs/interfaces/slackattachment.html +0 -459
  234. package/dist/docs/interfaces/slackpostbody.html +0 -240
  235. package/dist/docs/interfaces/sqsattribute.html +0 -171
  236. package/dist/docs/interfaces/sqsmessage.html +0 -254
  237. package/dist/docs/interfaces/sqsrecord.html +0 -324
  238. package/dist/docs/interfaces/sqsservice.html +0 -333
  239. package/dist/docs/interfaces/sqsstatistics.html +0 -240
  240. package/dist/docs/interfaces/storagemakeable.html +0 -258
  241. package/dist/docs/interfaces/storagemodel.html +0 -285
  242. package/dist/docs/interfaces/storageservice.html +0 -497
  243. package/dist/docs/interfaces/stringcondition.html +0 -226
  244. package/dist/docs/interfaces/tagset.html +0 -171
  245. package/dist/docs/interfaces/testmodel.html +0 -334
  246. package/dist/docs/interfaces/timeout.html +0 -233
  247. package/dist/docs/interfaces/updatable.html +0 -193
  248. package/dist/docs/interfaces/user.html +0 -534
@@ -20,23 +20,25 @@ exports.Elastic6QueryService = void 0;
20
20
  *
21
21
  * @author Steve Jung <steve@lemoncloud.io>
22
22
  * @date 2019-11-20 initial version via backbone
23
+ * @date 2021-12-07 support SearchBody
23
24
  *
24
25
  * @copyright (C) 2019 LemonCloud Co Ltd. - All Rights Reserved.
25
26
  */
26
27
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
28
  const engine_1 = require("../engine/");
28
- const NS = engine_1.$U.NS('ES6Q', 'green'); // NAMESPACE TO BE PRINTED.
29
29
  const elastic6_service_1 = require("./elastic6-service");
30
30
  const hangul_service_1 = __importDefault(require("./hangul-service"));
31
- /** ****************************************************************************************************************
32
- * Service Main
33
- ** ****************************************************************************************************************/
31
+ const NS = engine_1.$U.NS('ES6Q', 'green'); // NAMESPACE TO BE PRINTED.
34
32
  /**
35
33
  * class: `Elastic6QueryService`
36
34
  * - support simple query like range search.
37
35
  */
38
36
  class Elastic6QueryService {
39
- constructor(options) {
37
+ /**
38
+ * use query w/ the given search-service.
39
+ * @param service the origin search-service to use.
40
+ */
41
+ constructor(service) {
40
42
  /**
41
43
  * say hello of identity.
42
44
  */
@@ -54,13 +56,16 @@ class Elastic6QueryService {
54
56
  let $O = ''; // OrderBy
55
57
  let $H = ''; // Highlight
56
58
  //! build query.
57
- const queries = engine_1.$_.reduce(param, (list, val, key) => {
59
+ const queries = Object.keys(param).reduce((list, key) => {
60
+ let val = param[key];
58
61
  // ignore internal values.
59
62
  if (key.startsWith('_'))
60
63
  return list;
61
64
  // _log(NS, `>> param[${key}] = `, val);
62
65
  if (key === '$query') {
63
- $query = { query: typeof val === 'object' ? val : JSON.parse(val) };
66
+ $query = {
67
+ query: typeof val === 'object' ? val : typeof val === 'string' ? JSON.parse(val) : `${val || ''}`,
68
+ };
64
69
  }
65
70
  else if (key === '$limit') {
66
71
  $limit = engine_1.$U.N(val, 0);
@@ -103,7 +108,7 @@ class Elastic6QueryService {
103
108
  // all.
104
109
  $source = '*';
105
110
  }
106
- else if (val && val.indexOf && val.indexOf(',')) {
111
+ else if (typeof val === 'string' && val.indexOf !== undefined) {
107
112
  // string array set.
108
113
  let vals = val.split(',') || [];
109
114
  let $includes = [];
@@ -126,7 +131,7 @@ class Elastic6QueryService {
126
131
  }
127
132
  }
128
133
  else if (key === '$exist' || key === '$exists') {
129
- (val.split(',') || []).forEach((val) => {
134
+ (Array.isArray(val) ? val : `${val}`.split(',') || []).forEach((val) => {
130
135
  val = `${val || ''}`.trim();
131
136
  if (!val)
132
137
  return;
@@ -141,8 +146,8 @@ class Elastic6QueryService {
141
146
  else {
142
147
  //! escape if there is ' ' except like '(a AND B)'
143
148
  const escape_val = (val) => {
144
- if (val === '') {
145
- val = '"' + val + '"';
149
+ if (typeof val === 'string' && val === '') {
150
+ return '"' + val + '"';
146
151
  }
147
152
  else if (val && typeof val === 'string') {
148
153
  if (val.startsWith('(') && val.endsWith(')')) {
@@ -166,8 +171,8 @@ class Elastic6QueryService {
166
171
  val.indexOf('\\') >= 0 ||
167
172
  val.indexOf('#') >= 0 ||
168
173
  val.indexOf('^') >= 0) {
169
- val = val.replace(/([\"\'])/gi, '\\$1'); // replace '"' -> '\"'
170
- val = '"' + val + '"';
174
+ const str = val.replace(/([\"\'])/gi, '\\$1'); // replace '"' -> '\"'
175
+ return '"' + str + '"';
171
176
  }
172
177
  }
173
178
  return val;
@@ -177,7 +182,7 @@ class Elastic6QueryService {
177
182
  if (key.startsWith('!')) {
178
183
  if (val) {
179
184
  if (Array.isArray(val)) {
180
- const vals = val.map(_ => escape_val(_));
185
+ const vals = val.map((_) => escape_val(_));
181
186
  list.push(key.substr(1) + ':(NOT (' + vals.join(' OR ') + '))');
182
187
  }
183
188
  else {
@@ -200,7 +205,7 @@ class Elastic6QueryService {
200
205
  }
201
206
  else if (val && Array.isArray(val)) {
202
207
  // list.push('(' + val.map(val => `${key}:${val}`).join(' OR ') + ')');
203
- list.push(`${key}:` + '(' + val.map(val => `${escape_val(val)}`).join(' OR ') + ')');
208
+ list.push(`${key}:` + '(' + val.map((val) => `${escape_val(val)}`).join(' OR ') + ')');
204
209
  }
205
210
  else {
206
211
  list.push(`${key}:${val}`);
@@ -283,11 +288,16 @@ class Elastic6QueryService {
283
288
  //! returns body.
284
289
  return $body;
285
290
  };
286
- // eslint-disable-next-line prettier/prettier
287
- engine_1._inf(NS, `Elastic6QueryService(${options.indexName}/${options.idName})...`);
291
+ const options = service.options;
288
292
  if (!options.indexName)
289
293
  throw new Error('.indexName is required');
290
- this.options = Object.assign({ docType: '_doc' }, options);
294
+ this.service = service;
295
+ }
296
+ /**
297
+ * get options
298
+ */
299
+ get options() {
300
+ return this.service.options;
291
301
  }
292
302
  /**
293
303
  * query all by id.
@@ -346,131 +356,129 @@ class Elastic6QueryService {
346
356
  return __awaiter(this, void 0, void 0, function* () {
347
357
  if (!param)
348
358
  throw new Error('@param (SimpleSearchParam) is required');
349
- const { endpoint, indexName, docType } = this.options;
350
- const { client } = elastic6_service_1.Elastic6Service.instance(endpoint);
351
- engine_1._log(NS, `- search(${indexName})....`);
359
+ const { indexName } = this.options;
360
+ engine_1._log(NS, `- searchSimple(${indexName})....`);
352
361
  engine_1._log(NS, `> param =`, engine_1.$U.json(param));
353
362
  //! build query body.
354
- const payload = this.buildQueryBody(param);
355
- const id = '';
356
- const type = `${docType}`;
357
- const params = { index: indexName, type, body: payload };
358
- engine_1._log(NS, `> params[${id}] =`, engine_1.$U.json(params));
359
- const res = yield client.search(params).catch(elastic6_service_1.$ERROR.handler('search', e => {
360
- engine_1._err(NS, `> search[${indexName}].err =`, e);
361
- throw e;
362
- }));
363
- // {"took":6,"timed_out":false,"_shards":{"total":4,"successful":4,"skipped":0,"failed":0},"hits":{"total":1,"max_score":0.2876821,"hits":[{"_index":"test-v3","_type":"_doc","_id":"aaa","_score":0.2876821,"_source":{"name":"AAA","@id":"aaa","a":-3,"b":-2}}]}}
364
- // _log(NS, `> search[${id}].res =`, $U.json(res));
365
- engine_1._log(NS, `> search[${id}].took =`, res.took);
366
- engine_1._log(NS, `> search[${id}].hits.total =`, res.hits && res.hits.total);
367
- engine_1._log(NS, `> search[${id}].hits.max_score =`, res.hits && res.hits.max_score);
368
- engine_1._log(NS, `> search[${id}].hits.hits[0] =`, res.hits && engine_1.$U.json(res.hits.hits[0]));
369
- //! extract for result.
370
- const $hits = res.hits;
371
- const hits = ($hits && $hits.hits) || [];
372
- const total = engine_1.$U.N($hits && $hits.total, 0);
373
- const list = hits.map((_) => {
374
- const id = _ && _._id; // id of elastic-search
375
- const score = _ && _._score; // search score.
376
- const source = _ && _._source; // origin data
377
- //! save as internal
378
- source._id = source._id || id; // attach to internal-id
379
- source._score = score;
380
- // delete internal autocomplete data
381
- delete source[elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD];
382
- delete source[elastic6_service_1.Elastic6Service.QWERTY_FIELD];
383
- return source;
384
- });
385
- const result = { list, total };
386
- if (res.aggregations) {
387
- const $aggregations = res.aggregations || {};
388
- result.aggregations = Object.keys($aggregations).reduce((aggrs, field) => {
389
- const { doc_count_error_upper_bound: docCountError = 0, sum_other_doc_count: docSkippedCount = 0, buckets, } = res.aggregations[field];
390
- if (docCountError > 0)
391
- engine_1._err(NS, `> [WARN] aggregation: counts for each term are not accurate.`);
392
- if (docSkippedCount > 0)
393
- engine_1._err(NS, '> [WARN] aggregation: too many unique terms in the result. some terms are skipped.');
394
- if (Array.isArray(buckets)) {
395
- aggrs[field] = buckets.map((bucket) => {
396
- return { key: bucket.key, count: bucket.doc_count };
397
- });
398
- }
399
- return aggrs;
400
- }, {});
401
- }
402
- return result;
363
+ const body = this.buildQueryBody(param);
364
+ //! search via client
365
+ const res = yield this.search(body);
366
+ //! convert to query-result.
367
+ return this.asQueryResult(body, res);
368
+ });
369
+ }
370
+ /**
371
+ * search with raw query language.
372
+ *
373
+ * @param body SearchBody.
374
+ * @returns results.
375
+ */
376
+ search(body, searchType) {
377
+ return __awaiter(this, void 0, void 0, function* () {
378
+ if (!body)
379
+ throw new Error('@body (SearchBody) is required');
380
+ return this.service.searchRaw(body, searchType);
403
381
  });
404
382
  }
383
+ /**
384
+ * convert result as `QueryResult`
385
+ * @param body the query body requested
386
+ * @param res the result
387
+ * @returns QueryResult
388
+ */
389
+ asQueryResult(body, res) {
390
+ var _a, _b, _c;
391
+ const size = engine_1.$U.N(body === null || body === void 0 ? void 0 : body.size, 10);
392
+ //! extract for result.
393
+ const hits = res === null || res === void 0 ? void 0 : res.hits;
394
+ if (typeof hits !== 'object')
395
+ throw new Error(`.hits (object) is required - hists:${engine_1.$U.json(hits)}`);
396
+ const total = engine_1.$U.N(typeof ((_a = hits.total) === null || _a === void 0 ? void 0 : _a.value) === 'number' ? (_b = hits.total) === null || _b === void 0 ? void 0 : _b.value : hits.total, 0); // since v7.x
397
+ const last = (hits === null || hits === void 0 ? void 0 : hits.hits.length) === size ? (_c = hits.hits[size - 1]) === null || _c === void 0 ? void 0 : _c.sort : undefined;
398
+ const list = ((hits && hits.hits) || []).map((N) => {
399
+ const id = N && N._id; // id of elastic-search
400
+ const score = N && N._score; // search score.
401
+ const source = N && N._source; // origin data
402
+ //! save as internal
403
+ source._id = source._id || id; // attach to internal-id
404
+ source._score = score;
405
+ // delete internal autocomplete data
406
+ delete source[elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD];
407
+ delete source[elastic6_service_1.Elastic6Service.QWERTY_FIELD];
408
+ return source;
409
+ });
410
+ const result = { list, total, last };
411
+ if (res === null || res === void 0 ? void 0 : res.aggregations) {
412
+ const $aggregations = res.aggregations || {};
413
+ result.aggregations = Object.keys($aggregations).reduce((aggrs, field) => {
414
+ const { doc_count_error_upper_bound: docCountError = 0, sum_other_doc_count: docSkippedCount = 0, buckets, } = res.aggregations[field];
415
+ if (docCountError > 0)
416
+ engine_1._err(NS, `> [WARN] aggregation: counts for each term are not accurate.`);
417
+ if (docSkippedCount > 0)
418
+ engine_1._err(NS, '> [WARN] aggregation: too many unique terms in the result. some terms are skipped.');
419
+ if (Array.isArray(buckets)) {
420
+ aggrs[field] = buckets.map((bucket) => {
421
+ return { key: bucket.key, count: bucket.doc_count };
422
+ });
423
+ }
424
+ return aggrs;
425
+ }, {});
426
+ }
427
+ return result;
428
+ }
429
+ /**
430
+ * convert `AutocompleteSearchParam` to `SearchBody`
431
+ * @param param AutocompleteSearchParam
432
+ * @returns SearchBody
433
+ */
434
+ asSearchBody(param) {
435
+ const { autocompleteFields } = this.options;
436
+ // validate parameters
437
+ if (!param)
438
+ throw new Error('@param (AutocompleteSearchParam) is required');
439
+ if (!param.$query || !Object.keys(param.$query).length)
440
+ throw new Error('.query is required');
441
+ if (Object.keys(param.$query).length > 1)
442
+ throw new Error('.query accepts only one property');
443
+ const [field, query] = Object.entries(param.$query)[0];
444
+ if (!field || !query)
445
+ throw new Error(`.query is invalid`);
446
+ if (!autocompleteFields.includes(field))
447
+ throw new Error(`.query has no autocomplete field`);
448
+ // build query body
449
+ const decomposedField = `${elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD}.${field}`;
450
+ const qwertyField = `${elastic6_service_1.Elastic6Service.QWERTY_FIELD}.${field}`;
451
+ const body = {
452
+ query: {
453
+ bool: {
454
+ should: [
455
+ { match: { [decomposedField]: hangul_service_1.default.asJamoSequence(query) } },
456
+ { match: { [qwertyField]: query } },
457
+ ],
458
+ minimum_should_match: 1,
459
+ },
460
+ },
461
+ };
462
+ if (param.$filter) {
463
+ body.query.bool.filter = Object.entries(param.$filter).map(([field, filter]) => {
464
+ return { term: { [field]: filter } };
465
+ });
466
+ }
467
+ body.size = engine_1.$U.N(param.$limit, 10);
468
+ body.from = engine_1.$U.N(param.$page, 0) * body.size;
469
+ return { field, query, body };
470
+ }
405
471
  /**
406
472
  * search item in Search-as-You-Type way
407
473
  * @param param AutocompleteSearchParam
408
474
  */
409
475
  searchAutocomplete(param) {
410
476
  return __awaiter(this, void 0, void 0, function* () {
411
- const { endpoint, indexName, docType: type, autocompleteFields } = this.options;
412
- const { client } = elastic6_service_1.Elastic6Service.instance(endpoint);
413
- // validate parameters
414
- if (!param)
415
- throw new Error('@param (AutocompleteSearchParam) is required');
416
- if (!param.$query || !Object.keys(param.$query).length)
417
- throw new Error('.query is required');
418
- if (Object.keys(param.$query).length > 1)
419
- throw new Error('.query accepts only one property');
420
- const [field, query] = Object.entries(param.$query)[0];
421
- if (!field || !query)
422
- throw new Error(`.query is invalid`);
423
- if (!autocompleteFields.includes(field))
424
- throw new Error(`.query has no autocomplete field`);
425
- // build query body
426
- const decomposedField = `${elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD}.${field}`;
427
- const qwertyField = `${elastic6_service_1.Elastic6Service.QWERTY_FIELD}.${field}`;
428
- const body = {
429
- query: {
430
- bool: {
431
- should: [
432
- { match: { [decomposedField]: hangul_service_1.default.asJamoSequence(query) } },
433
- { match: { [qwertyField]: query } },
434
- ],
435
- minimum_should_match: 1,
436
- },
437
- },
438
- };
439
- if (param.$filter) {
440
- body.query.bool.filter = Object.entries(param.$filter).map(([field, filter]) => {
441
- return { term: { [field]: filter } };
442
- });
443
- }
444
- body.size = engine_1.$U.N(param.$limit, 10);
445
- body.from = engine_1.$U.N(param.$page, 0) * body.size;
446
- // perform search
447
- const params = { index: indexName, type, body };
448
- engine_1._log(NS, `> params =`, engine_1.$U.json(params));
449
- const res = yield client.search(params).catch(elastic6_service_1.$ERROR.handler('search', e => {
450
- engine_1._err(NS, `> search[${indexName}].err =`, e);
451
- throw e;
452
- }));
453
- engine_1._log(NS, `> search.took =`, res.took);
454
- engine_1._log(NS, `> search.hits.total =`, res.hits && res.hits.total);
455
- engine_1._log(NS, `> search.hits.max_score =`, res.hits && res.hits.max_score);
456
- engine_1._log(NS, `> search.hits.hits[0] =`, res.hits && engine_1.$U.json(res.hits.hits[0]));
457
- // extract result
458
- const $hits = res.hits;
459
- const hits = ($hits && $hits.hits) || [];
460
- const total = engine_1.$U.N($hits && $hits.total, 0);
461
- const list = hits.map((_) => {
462
- const id = _ && _._id; // id of elastic-search
463
- const score = _ && _._score; // search score.
464
- const source = _ && _._source; // origin data
465
- //! save as internal
466
- source._id = source._id || id; // attach to internal-id
467
- source._score = score;
468
- // delete internal autocomplete data
469
- delete source[elastic6_service_1.Elastic6Service.DECOMPOSED_FIELD];
470
- delete source[elastic6_service_1.Elastic6Service.QWERTY_FIELD];
471
- return source;
472
- });
477
+ const { field, query, body } = this.asSearchBody(param);
478
+ const res = yield this.service.searchRaw(body);
479
+ const result = this.asQueryResult(body, res);
473
480
  // highlighting result manually
481
+ let list = result.list;
474
482
  if (param.$highlight) {
475
483
  // prepare tag name to wrap highlighted text
476
484
  const tagName = typeof param.$highlight == 'string' ? param.$highlight : 'em';
@@ -478,7 +486,7 @@ class Elastic6QueryService {
478
486
  // e.g. 'COVID-19' => /C *O *V *I *D *- *1 *9/i
479
487
  const regexp = new RegExp([...query.replace(/\s/g, '')].join(' *'), 'i');
480
488
  // try to match regular expression with items found
481
- list.map((item) => {
489
+ list = result.list.map((item) => {
482
490
  const target = `${item[field] || ''}`;
483
491
  const match = target.match(regexp);
484
492
  if (match) {
@@ -490,9 +498,11 @@ class Elastic6QueryService {
490
498
  else {
491
499
  item._highlight = target;
492
500
  }
501
+ return item;
493
502
  });
494
503
  }
495
- return { list, total };
504
+ //! finally, override list.
505
+ return Object.assign(Object.assign({}, result), { list });
496
506
  });
497
507
  }
498
508
  }
@@ -1 +1 @@
1
- {"version":3,"file":"elastic6-query-service.js","sourceRoot":"","sources":["../../src/cores/elastic6-query-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elastic6-query-service.js","sourceRoot":"","sources":["../../src/cores/elastic6-query-service.ts"],"names":[],"mappings":"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"}