mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-07-19 21:10:34 +00:00
Compare commits
1939 Commits
v1.8.3
...
lazy-word-
Author | SHA1 | Date | |
---|---|---|---|
6a5a834f27 | |||
418fa47963 | |||
0656a0d515 | |||
e36a8c50b9 | |||
08ff135ad6 | |||
f729864466 | |||
94ea263bef | |||
0e475cb5e6 | |||
62de70b73c | |||
7707fb18dd | |||
bb2e9419d3 | |||
cf68713145 | |||
811143cbe9 | |||
c670e9a39b | |||
65f1b13475 | |||
db7ce03763 | |||
7ed9adde29 | |||
9ce7ccfbe7 | |||
3deb1ef78f | |||
5820d822c8 | |||
637bea0370 | |||
fd079c6757 | |||
182e5d5632 | |||
82aee6a9af | |||
fca947219f | |||
fb7ae9f97f | |||
cd421fea1e | |||
1ad4235beb | |||
de6c7e551e | |||
c0fe70c5f0 | |||
a09d08c7b6 | |||
2e6aa63efc | |||
f9807ba32e | |||
8c8cc59a6c | |||
f540a69ac3 | |||
7df2bdfb15 | |||
71f7456748 | |||
c98b313d03 | |||
69678ed8e1 | |||
bf144a94d8 | |||
b0b1888ef9 | |||
6ec1d2b712 | |||
cbdf80893d | |||
e2156ddfc7 | |||
49dd50dab2 | |||
13a88d6131 | |||
d9875b782d | |||
cb16baab18 | |||
2500e3c067 | |||
d3e4b2dfe7 | |||
2a46624e19 | |||
009c36a4d0 | |||
2a47e25e6d | |||
82912e191b | |||
e2d372823a | |||
1876132172 | |||
d0b0b90d17 | |||
b08544e86d | |||
d9111fe8ce | |||
41d8161017 | |||
7df5715d39 | |||
5fe02ab5e0 | |||
5ef7767429 | |||
3fad48167b | |||
a92a48b9b9 | |||
d53225bf64 | |||
20896500c2 | |||
1af520077c | |||
7e07cb9de1 | |||
a12b06d99d | |||
331dc3d241 | |||
ef9d9f8481 | |||
d3d22d8ed4 | |||
5e6abcf50c | |||
a4aaf932ba | |||
16c962eb30 | |||
55ca2c4481 | |||
fedb444e66 | |||
bef5954741 | |||
ff8cf38d6b | |||
f8ac575ec5 | |||
566b4efb06 | |||
1d499ed9b2 | |||
3bc62f0549 | |||
21bbbdec76 | |||
78ebd8dba2 | |||
34df44a002 | |||
48a27f669e | |||
e2d0ce52ba | |||
995f8962bd | |||
1cd00f37c0 | |||
1aa3375e12 | |||
60ff1b19a8 | |||
7df5e3f059 | |||
0197dc87e0 | |||
7a172b82ca | |||
eb3ff325d1 | |||
d3cd5ea689 | |||
3ed43f9097 | |||
a2a86ef4e2 | |||
d500c7f625 | |||
ea7e299663 | |||
a370b467fe | |||
8790880589 | |||
7072fe9780 | |||
d0dda78f3d | |||
fa8afc5cfd | |||
6d52c6e711 | |||
dfb8411647 | |||
6269f757ff | |||
40c5f911fd | |||
abef655849 | |||
b12ffd1356 | |||
c9a4c6ed96 | |||
aa32b719c7 | |||
41d2b1e52b | |||
54ee81bb09 | |||
689e69d6d2 | |||
9d9e0d4c54 | |||
19c9caed39 | |||
21c3b3957e | |||
f292fc9ac0 | |||
1d3c4642a6 | |||
9a282be0a2 | |||
bea28968a0 | |||
ed1dcbe0f7 | |||
5ceddbda84 | |||
ca41ce3bbd | |||
8ec0c322ea | |||
b88aa9cc76 | |||
3fd86e8d76 | |||
67f7470c83 | |||
4fab72cbea | |||
afb4b9677f | |||
73d2dbd60f | |||
57a6beee30 | |||
b190b612a3 | |||
111e77eff2 | |||
ba30747de3 | |||
25f0536f5a | |||
c8c0951c43 | |||
63e753bde0 | |||
5fa4b5c50a | |||
a7a62e5e4c | |||
683a2ac685 | |||
e751342dfb | |||
17bf82235d | |||
0401c4e511 | |||
4798c35c50 | |||
9585950e0e | |||
b8c6eb5453 | |||
02586e727e | |||
0cfc9261ba | |||
035674d56e | |||
d35470e29b | |||
23e07f1a93 | |||
f2a28a4dd7 | |||
1994494155 | |||
6dbec91d2b | |||
9a75dc6ab3 | |||
ae8d453868 | |||
95bccaf5f5 | |||
659855c88e | |||
286d310287 | |||
4f7ece2411 | |||
967033579d | |||
0200c65ebf | |||
c63c25a9a2 | |||
046bbea864 | |||
c5cb7d2f2c | |||
5e7f226ac9 | |||
754f254a00 | |||
39b5ad3c86 | |||
80adbb1bdc | |||
4b6fa1cf41 | |||
dc78d8e9c4 | |||
d4063c9dcd | |||
abebc574f6 | |||
f32ab67819 | |||
d25953f322 | |||
405bbd04c1 | |||
5d421abdc4 | |||
9f3663e768 | |||
d9642ec916 | |||
818e8b0237 | |||
4f77a7fba5 | |||
058f08dff5 | |||
9a6c1730aa | |||
91a8a97045 | |||
15788773af | |||
025b9b79bb | |||
1c60b17a37 | |||
3b2cd54b9d | |||
0833cb7d34 | |||
b0d4f9590f | |||
dfce20be21 | |||
24fe6cd205 | |||
e374b095a2 | |||
9f3e4801b1 | |||
b85180fedb | |||
3cdcc54a9e | |||
294cf39cad | |||
4a2643daa2 | |||
8d2d9066ba | |||
526476e168 | |||
ea7bae9a71 | |||
76fd5d92d7 | |||
245a55722a | |||
434fad5327 | |||
243a5fa6a8 | |||
9d314ace09 | |||
1b1172ad16 | |||
1d99c8465c | |||
05cc8c650c | |||
14e1459bf5 | |||
589bf30ec6 | |||
b367c71ad2 | |||
3ff1de0a21 | |||
1005a60fb8 | |||
e9add14189 | |||
4a058a080e | |||
11a11fc870 | |||
cd0dfa3f1b | |||
7b4ce468a6 | |||
11759c4be4 | |||
0f1aeb8eaa | |||
5e7803632d | |||
885710a07b | |||
c55fdad2c3 | |||
1caad4c4b0 | |||
8419ed52a1 | |||
a65c52cc97 | |||
49e9655c24 | |||
fa763ca5dc | |||
c7aeb554b2 | |||
88d9d47928 | |||
8e0d8d31f9 | |||
81a38099ec | |||
bd27fe7d02 | |||
41203f0931 | |||
803a699b15 | |||
246ad3b06e | |||
a21c440274 | |||
c01d26ffd7 | |||
225af069a9 | |||
70305b9f71 | |||
5dab435d13 | |||
c83c1a3c51 | |||
afc6c10a2a | |||
b83275c9c5 | |||
d7f35ee3ba | |||
1dce341bfb | |||
4876c1c8eb | |||
43c8d54501 | |||
84e2a1f836 | |||
00eb47d42e | |||
9293e7f2c1 | |||
80198aa855 | |||
fa00b42c93 | |||
6c9409edf8 | |||
acb06cb3e6 | |||
7d0d8f4445 | |||
491d115c3c | |||
55fa2dda00 | |||
c71eea8023 | |||
df40533741 | |||
4e819a6187 | |||
0c3e7fe963 | |||
45f843ccb9 | |||
35b6bca598 | |||
7f82d33597 | |||
f2185438ee | |||
8c5856007c | |||
ae1d7f4d9b | |||
792be63567 | |||
ca1ad51564 | |||
70aac71c63 | |||
a1d1e7c82a | |||
56438bdea4 | |||
a562d6abc1 | |||
33b67b82e1 | |||
b7fdd9516c | |||
5f2a1a4fd1 | |||
2b0e17ede0 | |||
37092adc71 | |||
86fcad788e | |||
2ea5c57871 | |||
7b4f2aa593 | |||
1fb96d3edb | |||
b63c64395d | |||
628119e31e | |||
78867b6852 | |||
b21b8e8f30 | |||
4a9e5ae215 | |||
6e1865b75b | |||
64409a1de7 | |||
1b81cab782 | |||
88190b5602 | |||
0b27aa5138 | |||
35160788d7 | |||
c3e5c3ba36 | |||
04ac0af54b | |||
9996533364 | |||
3f6b334fc5 | |||
b30e5a7a35 | |||
6d79cb23ba | |||
e34afca6d7 | |||
4918b9ffb6 | |||
73474e7af0 | |||
7ae6dda03f | |||
00e764b0d3 | |||
4abf0db0b4 | |||
acc885fd0a | |||
61e8cfd4bc | |||
796acd1aee | |||
cc8df5e11f | |||
ede74ccc42 | |||
e93a5719ef | |||
d34f0b606c | |||
6425451bbc | |||
acc400face | |||
fe46855462 | |||
8e7d2d25f2 | |||
a436534515 | |||
aa2327591e | |||
a6f9e0ddf0 | |||
60470bb647 | |||
294e1ba16d | |||
8e6893ddbe | |||
d018346f18 | |||
2385842537 | |||
6a70c0ec92 | |||
7a9382b115 | |||
62dabeba5f | |||
48812229a9 | |||
915cc377fb | |||
96544bfa43 | |||
09d474da63 | |||
aaefbfae1f | |||
97e17f52a1 | |||
62ced0e3f1 | |||
71bb24f17e | |||
c72f114b33 | |||
8ed39f5de0 | |||
424c5bde40 | |||
bdd3005d10 | |||
4224edea28 | |||
cb1b7513af | |||
2f89b8209f | |||
a9d0f4a002 | |||
db032079d8 | |||
a00796c46a | |||
6112bd8caa | |||
cec88cfc29 | |||
8439aeb7cf | |||
42257eec53 | |||
1beda3b9af | |||
8676e94f5c | |||
ef47a0d820 | |||
e0f0da57e2 | |||
485e3127c7 | |||
58f90b70c7 | |||
508db9020d | |||
6ff37c6fc4 | |||
f21ae1f5d1 | |||
483c52f07b | |||
f0d7ab81ad | |||
f88f415a00 | |||
19bc885b07 | |||
47f70e3d79 | |||
0f8eb3b506 | |||
4a5923a55e | |||
de98656ed1 | |||
da7469be38 | |||
df9d10ac44 | |||
528d9d6d8b | |||
4fb5c39b92 | |||
022205af90 | |||
50280bf02b | |||
9b579069df | |||
f5a4a1c8b2 | |||
5ab4cdb1f3 | |||
1f54f07f72 | |||
73d8a4eace | |||
c1e5897076 | |||
718a98fbbf | |||
86bf231d29 | |||
182c3f4b80 | |||
c1eba66443 | |||
7197ced673 | |||
4f21ee6c66 | |||
787472453d | |||
8f65f35de9 | |||
c27c923439 | |||
fd5649091d | |||
9a57736773 | |||
7740997ea8 | |||
7eb23f73ba | |||
b9e9fc376a | |||
27bf2f1298 | |||
d4d82fbd0c | |||
eda09a54da | |||
b132d70413 | |||
e41ebd3047 | |||
705d31e8bd | |||
7d95950ce6 | |||
c6b4c21c23 | |||
bf96fdb858 | |||
41eeffd88d | |||
1eb9fe8562 | |||
bac7a1623a | |||
5458850d21 | |||
20ac59c946 | |||
cfc1e193b6 | |||
0cc25c7e4c | |||
102681e384 | |||
3ef7a478cd | |||
e70ac35e02 | |||
d3654906bf | |||
e6295c9c5f | |||
b15de68831 | |||
6723700fb9 | |||
2c099b7c23 | |||
50fca8fc70 | |||
b9d92c481b | |||
d142c5e432 | |||
4d4683adb6 | |||
d6063079af | |||
2e04ab4737 | |||
d95384a636 | |||
c0690f5b9e | |||
909d84447d | |||
2cf57d584e | |||
59242b9c4f | |||
6a6212d4e1 | |||
a8006a3750 | |||
0e0e462f5b | |||
805531c90d | |||
a6470a0c37 | |||
8a54f14b8e | |||
be5e521cb0 | |||
60f20119a2 | |||
2f257fdc3d | |||
0991cb0de4 | |||
4709c638ed | |||
0776217801 | |||
9eae36ce3e | |||
3f501c9b85 | |||
c85146524b | |||
79d192fb3f | |||
a4ed36f0cc | |||
dddb51a9ca | |||
8f006eeaf3 | |||
445e5aff02 | |||
234d0c360f | |||
cd181b36c3 | |||
4cfe0dbdd8 | |||
89a4ac92eb | |||
deb90ff573 | |||
0c10063a87 | |||
87ea080c10 | |||
6d62fa061b | |||
de6cd3ac01 | |||
cb8f033130 | |||
03097e65e8 | |||
c32bec338f | |||
73d3d286d9 | |||
29eeb84ce3 | |||
d78951feb7 | |||
63c8cbae5b | |||
72ded27e98 | |||
c25781f720 | |||
c3b18fede9 | |||
4070895a21 | |||
a21711f473 | |||
f0ec8cbffe | |||
e568dbbabb | |||
8ff15b3dfb | |||
247eaed872 | |||
8b1fcfd7f8 | |||
45f289488d | |||
b0ef7701ae | |||
c9fb6c48b8 | |||
0de34aa8fa | |||
6bfcad4b05 | |||
67a0c9fff8 | |||
cc4aca78c4 | |||
5c7fa9b924 | |||
9837de271d | |||
fd251c37bb | |||
adb6bca950 | |||
42854c0bca | |||
d0bdff7b7b | |||
8650ee66c1 | |||
377fa09cb7 | |||
00a03742ff | |||
d11e359244 | |||
09d45439c7 | |||
5d92da0c73 | |||
677bb39e73 | |||
85ea77de0b | |||
03317be0bd | |||
4aa7c8f7b1 | |||
ce57a342a3 | |||
1cc6cd78e0 | |||
c204afdc79 | |||
c14967eeac | |||
f38db86120 | |||
50b155fa2d | |||
a533c8e041 | |||
e5595a05df | |||
908adee6fc | |||
7b3353252f | |||
647a10bf18 | |||
f2141a894a | |||
08c332980b | |||
7b57a44b5a | |||
fe2c0cc3d5 | |||
eecf4c53e7 | |||
cf4c3c287b | |||
71e5605daa | |||
890a5c64dd | |||
0ee4671a91 | |||
68333424c6 | |||
d4529d8c83 | |||
5e8144b0e1 | |||
3e3695445f | |||
091f989b72 | |||
dd28a3fd5a | |||
6f24b438e0 | |||
48a9ad4c17 | |||
b997039a91 | |||
0e6b6bd130 | |||
b1b0b0b67c | |||
27155f845c | |||
c6f14279d7 | |||
fa15356209 | |||
99f5e09a79 | |||
a8ef6f08e0 | |||
ae5a04e85c | |||
8ebfc9fa92 | |||
21026f0ca8 | |||
e579554c84 | |||
ff49250c1a | |||
8b95c6ae56 | |||
28162759a4 | |||
dd128656cb | |||
4456df5a46 | |||
0b104b3efa | |||
ac944f0960 | |||
5f55e88484 | |||
aab6ffec30 | |||
1dd33af8a3 | |||
8a2a1e4d27 | |||
e2686c0fce | |||
9473a2a6ca | |||
11ce3b9636 | |||
0bf4157a75 | |||
4eaa626bca | |||
668b26b641 | |||
04e4586fb3 | |||
78f6f22a80 | |||
13afdaf393 | |||
742d0ee531 | |||
4275833bab | |||
de7f8c4406 | |||
f00a285a6d | |||
43bb02e7b4 | |||
56fd4ee9bd | |||
0625d08e4e | |||
9269086fda | |||
98e3ecb86b | |||
9af9e73c45 | |||
4b107b17cb | |||
cb82b0798a | |||
7f1071943e | |||
3c1e7c7428 | |||
baeefa4817 | |||
e8ba7833ec | |||
db676aee73 | |||
1a0d8810e5 | |||
4615d86748 | |||
525e67ba93 | |||
44eb153619 | |||
195785c47f | |||
4eae92f411 | |||
d7cb319217 | |||
15062e7dba | |||
bf19f86e38 | |||
91c7ef8723 | |||
fc23a0ee52 | |||
d3491851bc | |||
886404cc4d | |||
75a7f0e26c | |||
47827ca5c1 | |||
f75d74a967 | |||
42648919c7 | |||
6987cac1ba | |||
082237863e | |||
4bcdd7a9f9 | |||
fc4b7ccb70 | |||
df9ac07922 | |||
ba27a09efe | |||
bc51d3a918 | |||
b39d4e9b50 | |||
b18cd9075d | |||
36b897858a | |||
a7b2f461cf | |||
fce132a21b | |||
9c857ff48f | |||
f27b33dabe | |||
9eb4b84abd | |||
71834787ec | |||
b004db37c7 | |||
0c04cd1d9f | |||
63ea405b3e | |||
ba11121cfc | |||
acdd5aa6ea | |||
2f3cc8cdd2 | |||
7a95fed23f | |||
961de4d34e | |||
18ce95dcbf | |||
c177210b1b | |||
1fc90fbacb | |||
6c72559457 | |||
1fdfa3f208 | |||
1a01196a80 | |||
0d0c18f519 | |||
d12364c1e0 | |||
8cd3a1aa57 | |||
08fd026ebd | |||
75d5cea624 | |||
ab9213fa94 | |||
45d5d4bf40 | |||
fa885e75b4 | |||
29fc77ee5b | |||
ad4dc70720 | |||
5d682b4700 | |||
f1beb60204 | |||
85577e70cd | |||
c5536c37b5 | |||
9245c89cfe | |||
f4ff722247 | |||
262b429a4c | |||
eaabc1af2f | |||
04a24a9239 | |||
1f54dfa883 | |||
786b0fabea | |||
26733c705d | |||
ab75f53efd | |||
867e6a8f1d | |||
6f4823fc97 | |||
df9b68f8ed | |||
0a0a5f84bf | |||
5bc6391700 | |||
eaa897d983 | |||
c06f386ac3 | |||
bfca54cc2c | |||
04a62d2b97 | |||
8c19cb0a0b | |||
5c492031d9 | |||
fb1caa4724 | |||
5622b9607d | |||
01bcc601be | |||
93fbdc06d3 | |||
69c931334f | |||
d683f5980c | |||
f8ba112f66 | |||
c614d0dd35 | |||
479607e5dd | |||
bb00e70087 | |||
2a04ecccc4 | |||
e974be9518 | |||
aeb6b74725 | |||
a751972c57 | |||
6b269795d2 | |||
d075be798a | |||
89637bcaaf | |||
866ac91be3 | |||
e610af36aa | |||
7cf6707ed3 | |||
34254b42b6 | |||
1995040846 | |||
07f42e8057 | |||
71f59749dc | |||
3b0b9967f6 | |||
123b54a178 | |||
f5dd8dfc3e | |||
6768e4ef75 | |||
bcfed70888 | |||
503ef3bbc9 | |||
08f2c696b0 | |||
54e34beac6 | |||
c0aa018c87 | |||
b75f1f4c17 | |||
95ed079761 | |||
4a082683df | |||
26be5e0733 | |||
bd5110a2fe | |||
fa8b9acdf6 | |||
2b74d1824b | |||
c77b00d3ac | |||
c77073efcc | |||
1537323eb9 | |||
a0a3b55700 | |||
214b51de87 | |||
95975944d7 | |||
9a9383643f | |||
cac355bfa7 | |||
9020a50df8 | |||
52843123d4 | |||
6298db5bea | |||
a003a0934a | |||
3a11e39c01 | |||
5f896b1050 | |||
d0c4e6da6b | |||
2da5584bb5 | |||
b7eb802ae6 | |||
2e32d0474c | |||
cb99ac6f7e | |||
be411435f5 | |||
29ef164530 | |||
739c52a3cd | |||
7a2af06b1e | |||
cb0c3a5aad | |||
8388698993 | |||
cbcf6c9ba3 | |||
bf742d81cf | |||
7458f0386c | |||
fc1df5793c | |||
3ded069042 | |||
261d2ceb06 | |||
1a17e2e572 | |||
5b8cd68abe | |||
5ce9acb0b9 | |||
953a82ca04 | |||
54341c2e80 | |||
96831ed9bb | |||
0459b1a242 | |||
8ecb726683 | |||
297e72e262 | |||
0ad2f57a92 | |||
b21d7aedf9 | |||
71d53f413f | |||
054622bd16 | |||
e905a72d73 | |||
2e879c1df8 | |||
d040aff101 | |||
5e30731cad | |||
beeb31ce41 | |||
057143214d | |||
6a1d26a60c | |||
d78f4666a0 | |||
a439fa3e1a | |||
767259be7e | |||
e9f34fb4b1 | |||
d5c07ef7b3 | |||
5e218f3f4d | |||
bcab61ab1d | |||
263c5a348e | |||
2f1a9105b9 | |||
be7d2fbe63 | |||
f7f9a131e4 | |||
5df5eb2db2 | |||
30eb0e5b5b | |||
5b860cb989 | |||
76d0623b11 | |||
db4eaf4d2d | |||
13f21206a6 | |||
27bb591331 | |||
14ee7aa84c | |||
8a35cd1743 | |||
8d33af1dff | |||
3c7ac093d3 | |||
d49d127863 | |||
b57dd5c58e | |||
90b428a8c3 | |||
096a28656e | |||
3dc87f5baa | |||
cc4bd54669 | |||
5383f41bba | |||
58eab9a018 | |||
9f36ffcbdb | |||
68c4717e21 | |||
5c488e20cc | |||
da650f834e | |||
e83534a430 | |||
98d4a2909e | |||
a514ce472a | |||
cc63802115 | |||
acec45ad7c | |||
08d6413365 | |||
70802eb7c7 | |||
6ac5b3b136 | |||
e1e76f39d0 | |||
2094ce8a9a | |||
8442db8101 | |||
79671c9faa | |||
a2f64f6552 | |||
fde2e0691c | |||
18a9af353c | |||
aae0dc715d | |||
d0b2c0a523 | |||
2e896f30a5 | |||
8f57b4fdf4 | |||
f014e78684 | |||
9008ecda3d | |||
d7bcfb2d19 | |||
fb66fec398 | |||
fa15be5bc4 | |||
aa460819a7 | |||
e241f91285 | |||
d66dc363ed | |||
5560452ef9 | |||
d9df7e00e1 | |||
b4fb2dabd4 | |||
5606679c53 | |||
a3103f347e | |||
25aac45fc7 | |||
dd76eaaaec | |||
98a785b0d7 | |||
ba7500998e | |||
19e6f675b3 | |||
323ecbb885 | |||
ffb60cb885 | |||
dcc3caef0d | |||
221e547e86 | |||
61d0615253 | |||
5727e00374 | |||
9b60843831 | |||
36962b943b | |||
32bcacefd5 | |||
4ed195426c | |||
ff38f29981 | |||
5899861ff0 | |||
94b260fd25 | |||
03ab6b39e7 | |||
ab2c83f868 | |||
9a08757a70 | |||
1f9692cd04 | |||
1e694ae432 | |||
71807cac6d | |||
21a2264782 | |||
bda2b41d11 | |||
6e6acfcf1b | |||
e0864f1b21 | |||
a38344acb3 | |||
4d616f8794 | |||
ff9c92c409 | |||
8380ddbdcd | |||
d4d8becfa7 | |||
867138f166 | |||
567bd4538b | |||
84600a10d1 | |||
35bbe1c2a2 | |||
7d64e8dbd3 | |||
ec06879d28 | |||
83d1f858c1 | |||
cae8c89467 | |||
a7ac590e9e | |||
7cb8732b45 | |||
8ad68dd708 | |||
fe5d50969a | |||
56c7c5d5f0 | |||
4cdfdddd6d | |||
2afa33011a | |||
61feca1f41 | |||
f893b5153e | |||
ca779c21f9 | |||
477077bdc2 | |||
b1f8aec348 | |||
ba7f091db3 | |||
8049df125b | |||
50d1bd01df | |||
a28d4f5d0c | |||
fc14f4bc66 | |||
5f8a82d6f5 | |||
fe04e51a49 | |||
01b27e40ad | |||
8076d98544 | |||
9e951baad5 | |||
52f2fc4c46 | |||
3957917e0b | |||
651c30899e | |||
2c7a7fe4e8 | |||
23f0c2c29b | |||
6641c3f59b | |||
07a72824b7 | |||
000eb55c4e | |||
b4bf7ce9b0 | |||
1aef0e4037 | |||
32d0e50a75 | |||
df5884b0c1 | |||
9e0eb5ebb0 | |||
3cf1352ae1 | |||
aba8a0e9e0 | |||
670aff5553 | |||
7e379b3d14 | |||
56eacd221f | |||
bdb51a85fe | |||
b24a34830d | |||
e145d71a62 | |||
d9a4e69990 | |||
b906e3ed70 | |||
4abcd9c04e | |||
229fa0f902 | |||
5d10c2312b | |||
f1d38581e5 | |||
62646af7b9 | |||
1fcb9526f5 | |||
15eefa4fcc | |||
ad9763ffcd | |||
d489f5635f | |||
a1251c3c83 | |||
6062914654 | |||
057fcb3993 | |||
41dbdd2d18 | |||
bfefaf71c2 | |||
c782c09208 | |||
75943a5a9b | |||
c1d8ee2a8d | |||
04c38220ca | |||
5f93651cef | |||
510ca99996 | |||
8924d486db | |||
e0c3f3d560 | |||
0a21d9bfb3 | |||
1f8b01a598 | |||
e736a74729 | |||
e9d17136b2 | |||
a05e448cf8 | |||
cd796b0f4b | |||
6570da3bcb | |||
5b4c06c24c | |||
3a8051866a | |||
9150c8f052 | |||
c202f3dbe2 | |||
677d7293f5 | |||
bd31ea2174 | |||
83865d2ebd | |||
72ba353498 | |||
4ff2b3c2ee | |||
91c58cfa38 | |||
9e8367f1e6 | |||
0dd321afc7 | |||
0e3c5d91ab | |||
695c2c6b99 | |||
40dd25d6b2 | |||
8e5b1a3ec1 | |||
e627e182ce | |||
51b6293738 | |||
b17896d899 | |||
94fb55bb6f | |||
a01bc7b454 | |||
7accfea624 | |||
009709eace | |||
82dcaba6ca | |||
cb1d6613dd | |||
3b0cb5b487 | |||
bfdcd1cf33 | |||
1d13e804f7 | |||
c4e9f761e9 | |||
8a6e61c77f | |||
68bbf674c9 | |||
980921e078 | |||
1fcd5f091e | |||
6094bb299a | |||
bef8fc6cf1 | |||
e32677999f | |||
5185aa21b8 | |||
8a314ab81d | |||
4706a0eb49 | |||
d97af4d8e6 | |||
2eb1801e85 | |||
a5d7ae23bd | |||
1f5d801271 | |||
7864530589 | |||
03886d0012 | |||
700757c01f | |||
01f8f30a7a | |||
0e4e9e866a | |||
1477b81d38 | |||
c9f478bc45 | |||
b427b9e88f | |||
39366a67c4 | |||
e2138170ad | |||
03650e3217 | |||
8b95f5ccc6 | |||
10f49f0d75 | |||
ee03743355 | |||
10feeb88f2 | |||
a9ecbf0b64 | |||
6b67f9fc4c | |||
2e4d4b398d | |||
da59a043ba | |||
da4d47b5d0 | |||
0507f5d99b | |||
8b260de5a0 | |||
be2a7c70f2 | |||
33b1f54b41 | |||
ede086bc30 | |||
7415ef7ff5 | |||
a5d138ac34 | |||
0f74a93346 | |||
e4993aa705 | |||
66b7e0824e | |||
f193c3a67c | |||
9799812b27 | |||
db55638714 | |||
ad52c950ba | |||
48ab898ca2 | |||
a5dc783ffa | |||
1b49b60486 | |||
d0b1ba20cb | |||
a1f228f662 | |||
99a9fde37f | |||
106cc7fe3a | |||
4eef0cd332 | |||
5f57306858 | |||
690eb42fc0 | |||
a9b61c8434 | |||
ddd03e9b37 | |||
362836efb7 | |||
22229d3046 | |||
186326fe40 | |||
cf6ad1ae5e | |||
3658f57f93 | |||
c79ca9679b | |||
94a1f5a8ea | |||
a77d5ea8c1 | |||
c9082130c8 | |||
df5bc3c9fd | |||
0f6a1dbce7 | |||
4ebedf4dc8 | |||
b02a72c0c0 | |||
a934b0ac6a | |||
1075dd34bb | |||
28274292d8 | |||
7058959a46 | |||
9cbb2b066a | |||
5efd70c251 | |||
65470e26e0 | |||
bbb67ae0a8 | |||
af9f96e2af | |||
1960003805 | |||
2a91849660 | |||
663deac236 | |||
c8189e975c | |||
9e7c455a01 | |||
c22dc55694 | |||
50de3fba7b | |||
ee72f622c7 | |||
b0da626506 | |||
3d29226a7f | |||
f372ee505f | |||
3753f87fd8 | |||
89243f7df0 | |||
9fe5122176 | |||
aff8ca4397 | |||
1a3f4e719d | |||
c278024709 | |||
73e29ee155 | |||
124b5c3df8 | |||
60cc09abec | |||
8ef8035bf2 | |||
3353bcd82d | |||
9c1e54a2c8 | |||
5675585fe8 | |||
af589c85ec | |||
ac919df37d | |||
73b5722896 | |||
c94679bde6 | |||
e51e6f902a | |||
6c226a4580 | |||
89e2d2b2b9 | |||
3a7a20c716 | |||
cd378e5bd2 | |||
fa1db6b721 | |||
1ab6fec903 | |||
c1fcb2ebc6 | |||
18ac4032aa | |||
d9115b74f0 | |||
0749633618 | |||
0fde49640a | |||
4ee65d870e | |||
ef77c7699b | |||
7382fb21e4 | |||
e4ace98004 | |||
aa7a34ffe8 | |||
6728cfbfac | |||
ea6883189e | |||
0647f75e6b | |||
fdeb47fb54 | |||
e66fccc3f2 | |||
73e87c152a | |||
86a0097311 | |||
c75de1f391 | |||
198238687f | |||
f9a6c624a7 | |||
017757004e | |||
75b2f22add | |||
152683083b | |||
c283c95f6a | |||
9a0e1dc375 | |||
1e81d72b5f | |||
52b95c4e59 | |||
7e1dc8439b | |||
5a74d4729c | |||
e44e7b5e81 | |||
a0b3887709 | |||
96658ec775 | |||
c01ee7b732 | |||
6ad3f57bc1 | |||
28d92c521a | |||
7df20d8282 | |||
b4102741e6 | |||
4b4a6c7863 | |||
3085092e04 | |||
c4efd1df4e | |||
c32282acb1 | |||
92070a3578 | |||
a525598ad6 | |||
4e97e38177 | |||
d675e73af1 | |||
a2fbf2ea21 | |||
132916f62c | |||
8371819114 | |||
a90563df3f | |||
466604725e | |||
6028d6ba43 | |||
68a2502388 | |||
995394a516 | |||
6e37ae8619 | |||
657c645603 | |||
7f5d0837c3 | |||
39b27e42be | |||
470c2272dd | |||
30f3c30389 | |||
d907d1b22d | |||
ed267fa063 | |||
6af55b1a80 | |||
2230674c0a | |||
5b04189f7a | |||
eb09dfed04 | |||
83c09d0db0 | |||
c0912aa685 | |||
af38f46621 | |||
c11b7e5c0f | |||
03579aba13 | |||
c3de3a9ab7 | |||
386ca86297 | |||
dff2d54784 | |||
58d96fbea3 | |||
4665bfcb19 | |||
a7a01646cf | |||
0409a26cd8 | |||
8221c94e7f | |||
35f78b5423 | |||
14261f8f04 | |||
774ed28539 | |||
d79f75f630 | |||
c427d9e2ad | |||
40336ce87d | |||
2a18917af3 | |||
ccf01c2471 | |||
0566f2549d | |||
0c2661ea90 | |||
62dfbd6255 | |||
cc669f90d5 | |||
37a9d64c44 | |||
b1dc10e771 | |||
4b598fa648 | |||
17571805b4 | |||
2654ce6e6c | |||
d9e4db9983 | |||
6d16230f17 | |||
b7a5ba100e | |||
dead7a56a3 | |||
0a8cb471df | |||
00e045b249 | |||
d83c9a4074 | |||
f3356ddaa4 | |||
31de5c747e | |||
3843240940 | |||
8cb5e7437d | |||
5b776556fe | |||
bb7a503e5d | |||
eabc14c268 | |||
e78da35287 | |||
64589278ac | |||
8df6daf308 | |||
5b552caf42 | |||
2b51a63418 | |||
3d8024fb2b | |||
4b0da0ff24 | |||
079f2b5de0 | |||
84b4219a4f | |||
5539a1904a | |||
00ccf53ffa | |||
d20a39b959 | |||
71b364286b | |||
86183e0807 | |||
78a4b7949d | |||
960060ebdf | |||
3d244451df | |||
5f53935c8a | |||
29a7623c3f | |||
e97041f7d0 | |||
52d7f3ed1c | |||
86d5e6d9ff | |||
759b9b1546 | |||
3f7a500f3b | |||
dc2cb58cf1 | |||
e9580fe619 | |||
8205254f4c | |||
974272f2e9 | |||
7ad037841f | |||
e0c7067355 | |||
efdc5739d7 | |||
b31e9bea26 | |||
6e87332410 | |||
2d1caf27df | |||
92678383d6 | |||
7f148c127c | |||
7f048b9732 | |||
8b4e2c7b17 | |||
645a55317a | |||
8caf97db86 | |||
b8a74e0464 | |||
fd8447c521 | |||
f2d187ba3e | |||
79d8a7a51a | |||
86da0e83fe | |||
0704fb71e9 | |||
4ce5d3d66d | |||
1e4d4e69c4 | |||
ff931edb55 | |||
42b093687d | |||
835c5f98f9 | |||
6ba4baecbf | |||
f00664247d | |||
3c63d4a1e5 | |||
4551abf6d4 | |||
193d7f5d34 | |||
013acb3d93 | |||
7f20c13f3f | |||
462a2329f1 | |||
afa3ae0cbd | |||
f6483cf15d | |||
bd34ed01d9 | |||
74199f328d | |||
1113c42de0 | |||
465afe01b2 | |||
7d6768e4c4 | |||
f77661ec44 | |||
b8fd85a46d | |||
fd43c6c404 | |||
2564ec1496 | |||
b6b73fe41c | |||
6dde41cc46 | |||
163f8023a1 | |||
2b120b89e4 | |||
84f842233d | |||
633537ccd7 | |||
e8d7c00d30 | |||
3f6301dbc9 | |||
ca71b63ed1 | |||
2b6952eda1 | |||
79f29eed3c | |||
cc45e264ca | |||
5f474a640d | |||
bbaee3dbc6 | |||
877717cb26 | |||
0ffeea5a52 | |||
716817122a | |||
ff523a2357 | |||
29c3aca72a | |||
00f8d03f43 | |||
50981ea778 | |||
c2caff1716 | |||
30aa1f6dea | |||
83113998f9 | |||
4c355bede7 | |||
174d69ff72 | |||
52a52f97cf | |||
5de4b48552 | |||
df648ce7a6 | |||
af8edab21d | |||
c42746c4cd | |||
98b77aec66 | |||
54d3ba3357 | |||
6e058709f2 | |||
0fbf9ea5b1 | |||
9f1fb4b425 | |||
f7337affd6 | |||
1120a5296c | |||
a35a339c3d | |||
cac5836f6f | |||
5239ae0297 | |||
2fdb1d8018 | |||
3c5e363554 | |||
da0dd6febf | |||
a197d63ab6 | |||
390eadb733 | |||
93f0317b94 | |||
29ff02f3ff | |||
d9e0df74ea | |||
dc8a662209 | |||
6732dd95d7 | |||
95da428dc8 | |||
38c4be1c8e | |||
91dfab317f | |||
47e3c4b5c3 | |||
533f1d4345 | |||
7b55462610 | |||
f6114a1ff2 | |||
7c084b1286 | |||
57f9517a98 | |||
72cc573e0a | |||
a48b1d5a79 | |||
a94a87ee54 | |||
e098cc8320 | |||
ec815fa368 | |||
4a922a176f | |||
51bc7b3173 | |||
f4ab1f168e | |||
4b55ba68bc | |||
1a0e962299 | |||
f13e076b8a | |||
7ba49b849e | |||
993408d3ba | |||
dcb61f8b3a | |||
51085206cc | |||
a2a16bf846 | |||
cab63abc84 | |||
65e3d61a95 | |||
cc6a2aec06 | |||
f7652186e1 | |||
23e14138bb | |||
e44325683a | |||
e7af499314 | |||
b2f4e67c9a | |||
ff5d3b59f5 | |||
aa69308e45 | |||
eb9a20ff0b | |||
edcb4c60ba | |||
0d868f36d7 | |||
e7d9db078f | |||
3e9198ebaa | |||
2a0ad0982f | |||
2b317c681b | |||
39b5990f64 | |||
3848adf5a2 | |||
b4de06259e | |||
02c2b660f8 | |||
8287c2644f | |||
c1c44a0b81 | |||
04596f3616 | |||
24cb5839ad | |||
8d97b7b28c | |||
f69688e8f7 | |||
f18e9cb7b3 | |||
8fd0afaaaa | |||
72c6a21a30 | |||
8412be4a7d | |||
10f09c531f | |||
8fd99b111b | |||
f6b3d1f9a5 | |||
db0cf3b2ed | |||
73ce67862d | |||
f6abf01d2c | |||
0fc02f7351 | |||
34f11e3380 | |||
28da759f11 | |||
ea96d19525 | |||
d352b1ee83 | |||
27308eaab1 | |||
b33ec9ba3f | |||
9c0a1cd9fd | |||
0b061f1e70 | |||
19d937ab21 | |||
1d59c19cd2 | |||
98e48371c3 | |||
6d74fb0229 | |||
1eb75a1040 | |||
3b82d8b5b9 | |||
781a186f75 | |||
6a399556b5 | |||
27b4cab857 | |||
3f3cebf5f9 | |||
b278815617 | |||
52d32b4ee9 | |||
da61408e52 | |||
fe69385bd7 | |||
40e13ceef3 | |||
18a2c13e4e | |||
ed19b7c3c3 | |||
66bda2ce8a | |||
1ac008926b | |||
c49d892c82 | |||
de962a26f3 | |||
c1557734dc | |||
005204e9e5 | |||
1040e5e2b4 | |||
c50d3edc4a | |||
80408c92dc | |||
5369bf4a62 | |||
bcb1aa3d22 | |||
fa1a0beb0c | |||
5aefe7cd17 | |||
e6dd66e4a0 | |||
6e3839d8b6 | |||
cd271b8762 | |||
3ce8500d4c | |||
588000d398 | |||
92b151607c | |||
42e7499260 | |||
41aa1e1424 | |||
9b7858fb90 | |||
ab01679a8f | |||
521775f788 | |||
72e7b7846e | |||
6526ce1208 | |||
24ace5c381 | |||
21296190a3 | |||
03fda78901 | |||
30a143f149 | |||
4464d319af | |||
580ea2f450 | |||
915cf4bae5 | |||
e639ec79d1 | |||
bb885a5810 | |||
b625d31c7d | |||
6487a67f2b | |||
271ce91b3b | |||
54f2eb4507 | |||
794ebcd582 | |||
b7c77c7a39 | |||
0c57cf7565 | |||
27df9e6c73 | |||
45c060831e | |||
874c1ac538 | |||
e6ffa4d454 | |||
637a9c8bdd | |||
c683fa98e6 | |||
9a756cf2c5 | |||
36d8684dc8 | |||
b12e997c8a | |||
8bf89ec394 | |||
ee62d9ce30 | |||
0f965d3574 | |||
ade54493ab | |||
07c8ed0459 | |||
c3cdc407ec | |||
2f10273d14 | |||
321639364f | |||
442d06dce7 | |||
8f6a98df07 | |||
b44e17c4c3 | |||
e3ef0ae19e | |||
57f7af77c7 | |||
2d16d0aea1 | |||
c817718e07 | |||
e64d0e0ca8 | |||
21aa430b5e | |||
8535dc0be2 | |||
72b9005344 | |||
420c33132c | |||
9ef710cad4 | |||
48f7329a83 | |||
ab1ec9ca21 | |||
9d6efd92d2 | |||
abdb337fd6 | |||
1c755c8899 | |||
3a42c3134e | |||
5aa6cb3600 | |||
9b7764575b | |||
0e68718027 | |||
7c3fc8c655 | |||
8acd3f50bb | |||
25791e3f46 | |||
866922ecc3 | |||
f05ea04879 | |||
b1b3a1a98b | |||
143d6cde10 | |||
c457069367 | |||
bb1283222e | |||
7a5a38f870 | |||
ded3cd0dd6 | |||
68f885f1c4 | |||
9372c34dab | |||
6666c57880 | |||
b53a019b07 | |||
d262b1df32 | |||
ed795bc837 | |||
993264227d | |||
953d3a44bd | |||
e5345fb0eb | |||
2d9a055fb9 | |||
110dc01f40 | |||
9719dec443 | |||
fa77a949aa | |||
abe128476f | |||
a663e408ad | |||
986991277f | |||
c2c1ba39ee | |||
35567b2137 | |||
00c97c7152 | |||
d4ea7cc2a9 | |||
8532fe8afc | |||
2413592bbf | |||
553440632e | |||
7a347966da | |||
6c598fa06d | |||
8338df0dbe | |||
4654d51e05 | |||
22ef2d877f | |||
76bc2c18e8 | |||
59115fd058 | |||
a918561ac1 | |||
70d71581ee | |||
4fbe048cbf | |||
e06fbcc607 | |||
04fa44e7eb | |||
90c0a6db7d | |||
d82f8fd904 | |||
cc02920f2b | |||
c26bd68de5 | |||
80fdea9afc | |||
e3faacd160 | |||
988552e178 | |||
0d8199f3b7 | |||
4b74803dae | |||
d731fa661b | |||
a1beddd5d9 | |||
4109182ca4 | |||
1a297c048e | |||
ecee0c922f | |||
303e601b87 | |||
f6d2c59bca | |||
50b7093f8e | |||
48bc797dce | |||
c6b33fd407 | |||
6e9d0de8b7 | |||
1bfb16386c | |||
ea73615abf | |||
02c61eabfa | |||
56b60ec7a0 | |||
8f416e8f34 | |||
cf760cbfb1 | |||
2af9481804 | |||
7a292b572a | |||
8d6ac261ae | |||
b4c8b01c88 | |||
24240934f9 | |||
f4c94ac57f | |||
4087a88dbe | |||
5adacf2f45 | |||
65d0c32aa7 | |||
82647bcded | |||
1582c7e788 | |||
20094eba06 | |||
c35904d6e8 | |||
2cacc448b6 | |||
a61b852695 | |||
3167411e98 | |||
83d71662aa | |||
5c323cecc7 | |||
77b9347fff | |||
c85dd9f635 | |||
7da95d62e2 | |||
2cda1360ee | |||
5f9c05b944 | |||
d3a6d2a6fa | |||
2123d76089 | |||
edab4e75b0 | |||
b9982587d4 | |||
e83da00446 | |||
7fb3e378ff | |||
12a7a45930 | |||
677ed6bbf6 | |||
29b44e5541 | |||
6e80364c50 | |||
603676cb3b | |||
23e102ca71 | |||
f36f34c2f7 | |||
3bac22fd87 | |||
ce61cb7fe6 | |||
1693d1a311 | |||
febea735ca | |||
93ba051094 | |||
cd7a20fa32 | |||
41f51adbec | |||
0ca1a4e805 | |||
50a7393c55 | |||
837274f853 | |||
487997f6ad | |||
94809090a3 | |||
01144b2c74 | |||
e97600eead | |||
767553519d | |||
aace587dd1 | |||
e706023969 | |||
bcd0c5f5a4 | |||
f35d6710f3 | |||
b7b8f564c3 | |||
862d49e4af | |||
81ec0abad1 | |||
b67d385cf0 | |||
dfecb25814 | |||
2eae2015d7 | |||
33fa17bf12 | |||
400e6b93ce | |||
f32e6c32fc | |||
f4add93043 | |||
f07256971a | |||
2fae96ac14 | |||
246f0e7130 | |||
45af18ae9c | |||
2d97164d9f | |||
efc156a4a4 | |||
ba85959642 | |||
1702b5cf44 | |||
2099b4f0dd | |||
0d5bc4578e | |||
8f60ad0a23 | |||
9570139eeb | |||
9d6885793e | |||
98cd6a865c | |||
5f4530ce57 | |||
0ecaf861fa | |||
4d5005b01a | |||
952e742321 | |||
ee9aa63044 | |||
43db4f4242 | |||
9feba5028d | |||
0a40a98bb6 | |||
aac15f6719 | |||
ea21b948b1 | |||
53a359286c | |||
47e526f5ea | |||
4aa7d386d8 | |||
84fabb9314 | |||
cd46ebd6b5 | |||
ef8d9a20f8 | |||
6afa578688 | |||
300bdfc2a7 | |||
e7e74c0099 | |||
05cc2d1fac | |||
22b9c277d0 | |||
16bde973aa | |||
13d1d78a2d | |||
b2b7a633a6 | |||
7be109cafe | |||
6ebefd1067 | |||
d25ae36e22 | |||
b64b4ab6ca | |||
427861b323 | |||
d29cb75061 | |||
128e6c7502 | |||
3129f96603 | |||
c701d89fdc | |||
3d9befd64f | |||
ee14d5196c | |||
d96372b9c4 | |||
ea67816a21 | |||
c885fcebcc | |||
b6e1a1f2f5 | |||
277f4883f6 | |||
015d90a962 | |||
0df84bbba7 | |||
e53de15b8e | |||
8c4921b9dd | |||
f6a00f4a90 | |||
ce08dc509b | |||
1daaed163a | |||
809e742253 | |||
decdfe03bc | |||
aae5c324d7 | |||
a108d8f6f3 | |||
34cf576339 | |||
eb292a7a62 | |||
e28332a904 | |||
a1dcde6b9a | |||
544e98ca99 | |||
1e4699b82c | |||
2c09c324f7 | |||
3d6b61d8d2 | |||
1374b661d1 | |||
7e3c306c54 | |||
2608a596a0 | |||
e16edb2c35 | |||
5c758438fc | |||
ab6cac2321 | |||
6fb36ed30e | |||
dcdc83946f | |||
3c4c46377b | |||
7da21bb601 | |||
13161fd7d0 | |||
b81e2951a9 | |||
d75e0098c7 | |||
27496354e2 | |||
2e0ff56f3f | |||
a74fb87d1e | |||
558b66e535 | |||
cade18bd47 | |||
298c7b0c93 | |||
606e108420 | |||
7be17b7e4c | |||
1693332cab | |||
ddd564665b | |||
2a38f5c757 | |||
133d33d72c | |||
fb683fe88b | |||
4ae11bfd31 | |||
9736e16a88 | |||
6fa4da8ae7 | |||
19d7cdc20d | |||
c229200820 | |||
bad28cc9e2 | |||
534f696b29 | |||
a04041c8f2 | |||
b347b66619 | |||
e580d6b98f | |||
8ba65e333b | |||
43875e6758 | |||
d7844a6e45 | |||
e9bf4c43a4 | |||
a8a0854421 | |||
0a8f50695e | |||
09d9b63e1c | |||
b9b938c902 | |||
6bf07d969e | |||
e35ef31738 | |||
3f212a8202 | |||
bc547dad6f | |||
3bc8f81abc | |||
a89eea233b | |||
34fabed214 | |||
fca9fe39b3 | |||
f5cf01e7d1 | |||
d1dd7e5d09 | |||
d18c1f77d7 | |||
d0b05ae691 | |||
e9bf4eb100 | |||
b368105272 | |||
e0eff08095 | |||
304a9df52d | |||
39f60abd7d | |||
1991bd03da | |||
ee39309aae | |||
0d31be1494 | |||
3493093c4f | |||
7cef2299cf | |||
a838f39fce | |||
600e97d9dc | |||
d1962b2b0f | |||
8b450b84f8 | |||
7add7d053c | |||
7559dfc814 | |||
0502b17501 | |||
8ec6e175e5 | |||
57d066595b | |||
75b2e02cd2 | |||
40f05fe156 | |||
734d1c53ad | |||
52d0d35b39 | |||
5432776132 | |||
66470b27e6 | |||
0a9bd398c7 | |||
7967e93c16 | |||
a6f3a01c6a | |||
4ca4a3f954 | |||
e4a69c5ac3 | |||
ff2e498267 | |||
531e3d7d6a | |||
63dded3961 | |||
2cdcb703d9 | |||
6607875f49 | |||
ea61e5cbec | |||
31a793d226 | |||
d85ab23b82 | |||
b7349910d9 | |||
49fa41ce65 | |||
400cf3eb92 | |||
376b3a19a7 | |||
d92c173fdc | |||
b867829ef1 | |||
6b29676e7e | |||
caad40964a | |||
cc5dca8321 | |||
5d50850e12 | |||
a73ccc78a6 | |||
9eb6f522ea | |||
04f6523f3c | |||
30d66abf8d | |||
84e498299b | |||
7a84697570 | |||
4148fbbe85 | |||
cb765ad249 | |||
2e50c6ec81 | |||
40b2345394 | |||
30293883e0 | |||
b833be46b9 | |||
0a4118329e | |||
261e92d7e6 | |||
5cd08979b1 | |||
2af7e4dbe9 | |||
a998b881f6 | |||
b81953a65d | |||
091bb157f1 | |||
1b639ce44b | |||
87cf8a3c94 | |||
0f578348f1 | |||
fad4675abe | |||
1ab03c4ede | |||
0c6e4b2f00 | |||
42b3f52ef9 | |||
93f5defedc | |||
33241a6b12 | |||
ff87b4db26 | |||
ba9fadc8f1 | |||
98e062a714 | |||
d29d4f88da | |||
17c5ceeb9d | |||
8412665957 | |||
fc584f1db3 | |||
2b6db6541e | |||
d6bd88ce4f | |||
c32d746069 | |||
b9a0ff0dd6 | |||
75496af985 | |||
0e9eb9eedb | |||
c2fb7afe59 | |||
3f1a510069 | |||
3a78e988da | |||
d9e5074189 | |||
bc210bdc00 | |||
4bf83f701c | |||
db3887929f | |||
9af103a88e | |||
99211eb375 | |||
41976b82b1 | |||
c36410fcbf | |||
7ce2691374 | |||
4f03b0cf5b | |||
c26db7878c | |||
06a9803544 | |||
b2588d8101 | |||
62d27172f4 | |||
1ab88e10b9 | |||
6a4b2516aa | |||
aac1d769a7 | |||
abdc4afcca | |||
75d5c0ae1f | |||
a88554216a | |||
2cf3e1c80a | |||
e1fbfde6c4 | |||
27b75ec648 | |||
07fdb081a4 | |||
ca006e38ec | |||
e26bd87780 | |||
c01e498a63 | |||
ca6cc4654b | |||
3bd9d2478c | |||
54b15059a0 | |||
d35278320e | |||
e172e938e7 | |||
02b3d82c60 | |||
fd2c95999d | |||
e248d2a1e6 | |||
487431a035 | |||
b6d450d484 | |||
dc949ab46a | |||
7f3e51349e | |||
19acc65ad2 | |||
3a3ab17714 | |||
eaf57056ca | |||
e340705634 | |||
fe17c0f52e | |||
14bc80e3df | |||
bc5663e673 | |||
8a941c0241 | |||
3412e7fbcf | |||
16037e2169 | |||
8f7c8ca7f0 | |||
500ddc76b5 | |||
eccbcf5130 | |||
943f8dba0c | |||
1aa8ed9ef7 | |||
abe29772db | |||
c9ac7f2e7e | |||
7e251b43d4 | |||
9969f7a638 | |||
b17cb56dee | |||
afcd7b9f0c | |||
30cf972987 | |||
d05d49ffd8 | |||
0462ebbe58 | |||
2f7a8a4efb | |||
02714ef5ed | |||
52d9cb6e5a | |||
261de888b7 | |||
98c811247e | |||
59ecf1cea7 | |||
273c6e8c5c | |||
897d25780e | |||
c85d1752dd | |||
8e6ffbfc6f | |||
7c19c072fa | |||
673b6e1dc0 | |||
f2d0a59f1d | |||
c78a2fa4f5 | |||
5542f1d9f1 | |||
ad4d8502b3 | |||
7ec4e2a3fb | |||
9fffb8e83d | |||
caa6a7149a | |||
a0082c4df9 | |||
b0afe0972e | |||
9ecde41853 | |||
685f452fb2 | |||
4e4a1ddff7 | |||
c22460045c | |||
76bb6d565c | |||
9d3ff11b21 | |||
43763eb98a | |||
2a0ece814c | |||
95fcd17373 | |||
ac4bc143c4 | |||
f33a1282f8 | |||
4d5971f343 | |||
ecb5c506b3 | |||
3698aef66b | |||
7f5ab3cef5 | |||
248e22005a | |||
ab43a8a949 | |||
4089dd04a5 | |||
cf864a1c2e |
10
.github/ISSUE_TEMPLATE/sprint_issue.md
vendored
10
.github/ISSUE_TEMPLATE/sprint_issue.md
vendored
@ -22,6 +22,16 @@ Related product discussion:
|
|||||||
|
|
||||||
<!---If necessary, create a list with technical/product steps-->
|
<!---If necessary, create a list with technical/product steps-->
|
||||||
|
|
||||||
|
### Reminders when modifying the API
|
||||||
|
|
||||||
|
- [ ] Update the openAPI file with utoipa:
|
||||||
|
- [ ] If a new module has been introduced, create a new structure deriving [the OpenAPI proc-macro](https://docs.rs/utoipa/latest/utoipa/derive.OpenApi.html) and nest it in the main [openAPI structure](https://github.com/meilisearch/meilisearch/blob/f2185438eed60fa32d25b15480c5ee064f6fba4a/crates/meilisearch/src/routes/mod.rs#L64-L78).
|
||||||
|
- [ ] If a new route has been introduced, add the [path decorator](https://docs.rs/utoipa/latest/utoipa/attr.path.html) to it and add the route at the top of the file in its openAPI structure.
|
||||||
|
- [ ] If a structure which is deserialized or serialized in the API has been introduced or modified, it must derive the [`schema`](https://docs.rs/utoipa/latest/utoipa/macro.schema.html) or the [`IntoParams`](https://docs.rs/utoipa/latest/utoipa/derive.IntoParams.html) proc-macro.
|
||||||
|
If it's a **new** structure you must also add it to the big list of structures [in the main `OpenApi` structure](https://github.com/meilisearch/meilisearch/blob/f2185438eed60fa32d25b15480c5ee064f6fba4a/crates/meilisearch/src/routes/mod.rs#L88).
|
||||||
|
- [ ] Once everything is done, start Meilisearch with the swagger flag: `cargo run --features swagger`, open `http://localhost:7700/scalar` on your browser, and ensure everything works as expected.
|
||||||
|
- For more info, refer to [this presentation](https://pitch.com/v/generating-the-openapi-file-jrn3nh).
|
||||||
|
|
||||||
### Reminders when modifying the Setting API
|
### Reminders when modifying the Setting API
|
||||||
|
|
||||||
<!--- Special steps to remind when adding a new index setting -->
|
<!--- Special steps to remind when adding a new index setting -->
|
||||||
|
4
.github/workflows/bench-manual.yml
vendored
4
.github/workflows/bench-manual.yml
vendored
@ -18,11 +18,9 @@ jobs:
|
|||||||
timeout-minutes: 180 # 3h
|
timeout-minutes: 180 # 3h
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Run benchmarks - workload ${WORKLOAD_NAME} - branch ${{ github.ref }} - commit ${{ github.sha }}
|
- name: Run benchmarks - workload ${WORKLOAD_NAME} - branch ${{ github.ref }} - commit ${{ github.sha }}
|
||||||
run: |
|
run: |
|
||||||
|
46
.github/workflows/bench-pr.yml
vendored
46
.github/workflows/bench-pr.yml
vendored
@ -16,6 +16,37 @@ jobs:
|
|||||||
runs-on: benchmarks
|
runs-on: benchmarks
|
||||||
timeout-minutes: 180 # 3h
|
timeout-minutes: 180 # 3h
|
||||||
steps:
|
steps:
|
||||||
|
- name: Check permissions
|
||||||
|
id: permission
|
||||||
|
env:
|
||||||
|
PR_AUTHOR: ${{github.event.issue.user.login }}
|
||||||
|
COMMENT_AUTHOR: ${{github.event.comment.user.login }}
|
||||||
|
REPOSITORY: ${{github.repository}}
|
||||||
|
PR_ID: ${{github.event.issue.number}}
|
||||||
|
run: |
|
||||||
|
PR_REPOSITORY=$(gh api /repos/"$REPOSITORY"/pulls/"$PR_ID" --jq .head.repo.full_name)
|
||||||
|
if $(gh api /repos/"$REPOSITORY"/collaborators/"$PR_AUTHOR"/permission --jq .user.permissions.push)
|
||||||
|
then
|
||||||
|
echo "::notice title=Authentication success::PR author authenticated"
|
||||||
|
else
|
||||||
|
echo "::error title=Authentication error::PR author doesn't have push permission on this repository"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if $(gh api /repos/"$REPOSITORY"/collaborators/"$COMMENT_AUTHOR"/permission --jq .user.permissions.push)
|
||||||
|
then
|
||||||
|
echo "::notice title=Authentication success::Comment author authenticated"
|
||||||
|
else
|
||||||
|
echo "::error title=Authentication error::Comment author doesn't have push permission on this repository"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "$PR_REPOSITORY" = "$REPOSITORY" ]
|
||||||
|
then
|
||||||
|
echo "::notice title=Authentication success::PR started from main repository"
|
||||||
|
else
|
||||||
|
echo "::error title=Authentication error::PR started from a fork"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Check for Command
|
- name: Check for Command
|
||||||
id: command
|
id: command
|
||||||
uses: xt0rted/slash-command-action@v2
|
uses: xt0rted/slash-command-action@v2
|
||||||
@ -24,7 +55,7 @@ jobs:
|
|||||||
reaction-type: "rocket"
|
reaction-type: "rocket"
|
||||||
repo-token: ${{ env.GH_TOKEN }}
|
repo-token: ${{ env.GH_TOKEN }}
|
||||||
|
|
||||||
- uses: xt0rted/pull-request-comment-branch@v2
|
- uses: xt0rted/pull-request-comment-branch@v3
|
||||||
id: comment-branch
|
id: comment-branch
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ env.GH_TOKEN }}
|
repo_token: ${{ env.GH_TOKEN }}
|
||||||
@ -35,12 +66,17 @@ jobs:
|
|||||||
fetch-depth: 0 # fetch full history to be able to get main commit sha
|
fetch-depth: 0 # fetch full history to be able to get main commit sha
|
||||||
ref: ${{ steps.comment-branch.outputs.head_ref }}
|
ref: ${{ steps.comment-branch.outputs.head_ref }}
|
||||||
|
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Run benchmarks on PR ${{ github.event.issue.id }}
|
- name: Run benchmarks on PR ${{ github.event.issue.id }}
|
||||||
run: |
|
run: |
|
||||||
cargo xtask bench --api-key "${{ secrets.BENCHMARK_API_KEY }}" --dashboard-url "${{ vars.BENCHMARK_DASHBOARD_URL }}" --reason "[Comment](${{ github.event.comment.html_url }}) on [#${{ github.event.issue.number }}](${{ github.event.issue.html_url }})" -- ${{ steps.command.outputs.command-arguments }}
|
cargo xtask bench --api-key "${{ secrets.BENCHMARK_API_KEY }}" \
|
||||||
|
--dashboard-url "${{ vars.BENCHMARK_DASHBOARD_URL }}" \
|
||||||
|
--reason "[Comment](${{ github.event.comment.html_url }}) on [#${{ github.event.issue.number }}](${{ github.event.issue.html_url }})" \
|
||||||
|
-- ${{ steps.command.outputs.command-arguments }} > benchlinks.txt
|
||||||
|
|
||||||
|
- name: Send comment in PR
|
||||||
|
run: |
|
||||||
|
gh pr comment ${{github.event.issue.number}} --body-file benchlinks.txt
|
||||||
|
4
.github/workflows/bench-push-indexing.yml
vendored
4
.github/workflows/bench-push-indexing.yml
vendored
@ -12,11 +12,9 @@ jobs:
|
|||||||
timeout-minutes: 180 # 3h
|
timeout-minutes: 180 # 3h
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
# Run benchmarks
|
# Run benchmarks
|
||||||
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch main - Commit ${{ github.sha }}
|
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch main - Commit ${{ github.sha }}
|
||||||
|
6
.github/workflows/benchmarks-manual.yml
vendored
6
.github/workflows/benchmarks-manual.yml
vendored
@ -18,11 +18,9 @@ jobs:
|
|||||||
timeout-minutes: 4320 # 72h
|
timeout-minutes: 4320 # 72h
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
# Set variables
|
# Set variables
|
||||||
- name: Set current branch name
|
- name: Set current branch name
|
||||||
@ -45,7 +43,7 @@ jobs:
|
|||||||
# Run benchmarks
|
# Run benchmarks
|
||||||
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
||||||
run: |
|
run: |
|
||||||
cd benchmarks
|
cd crates/benchmarks
|
||||||
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
||||||
|
|
||||||
# Generate critcmp files
|
# Generate critcmp files
|
||||||
|
39
.github/workflows/benchmarks-pr.yml
vendored
39
.github/workflows/benchmarks-pr.yml
vendored
@ -13,11 +13,40 @@ jobs:
|
|||||||
runs-on: benchmarks
|
runs-on: benchmarks
|
||||||
timeout-minutes: 4320 # 72h
|
timeout-minutes: 4320 # 72h
|
||||||
steps:
|
steps:
|
||||||
- uses: actions-rs/toolchain@v1
|
- name: Check permissions
|
||||||
|
id: permission
|
||||||
|
env:
|
||||||
|
PR_AUTHOR: ${{github.event.issue.user.login }}
|
||||||
|
COMMENT_AUTHOR: ${{github.event.comment.user.login }}
|
||||||
|
REPOSITORY: ${{github.repository}}
|
||||||
|
PR_ID: ${{github.event.issue.number}}
|
||||||
|
run: |
|
||||||
|
PR_REPOSITORY=$(gh api /repos/"$REPOSITORY"/pulls/"$PR_ID" --jq .head.repo.full_name)
|
||||||
|
if $(gh api /repos/"$REPOSITORY"/collaborators/"$PR_AUTHOR"/permission --jq .user.permissions.push)
|
||||||
|
then
|
||||||
|
echo "::notice title=Authentication success::PR author authenticated"
|
||||||
|
else
|
||||||
|
echo "::error title=Authentication error::PR author doesn't have push permission on this repository"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if $(gh api /repos/"$REPOSITORY"/collaborators/"$COMMENT_AUTHOR"/permission --jq .user.permissions.push)
|
||||||
|
then
|
||||||
|
echo "::notice title=Authentication success::Comment author authenticated"
|
||||||
|
else
|
||||||
|
echo "::error title=Authentication error::Comment author doesn't have push permission on this repository"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "$PR_REPOSITORY" = "$REPOSITORY" ]
|
||||||
|
then
|
||||||
|
echo "::notice title=Authentication success::PR started from main repository"
|
||||||
|
else
|
||||||
|
echo "::error title=Authentication error::PR started from a fork"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Check for Command
|
- name: Check for Command
|
||||||
id: command
|
id: command
|
||||||
@ -27,7 +56,7 @@ jobs:
|
|||||||
reaction-type: "eyes"
|
reaction-type: "eyes"
|
||||||
repo-token: ${{ env.GH_TOKEN }}
|
repo-token: ${{ env.GH_TOKEN }}
|
||||||
|
|
||||||
- uses: xt0rted/pull-request-comment-branch@v2
|
- uses: xt0rted/pull-request-comment-branch@v3
|
||||||
id: comment-branch
|
id: comment-branch
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ env.GH_TOKEN }}
|
repo_token: ${{ env.GH_TOKEN }}
|
||||||
@ -59,7 +88,7 @@ jobs:
|
|||||||
# Run benchmarks
|
# Run benchmarks
|
||||||
- name: Run benchmarks - Dataset ${{ steps.command.outputs.command-arguments }} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
- name: Run benchmarks - Dataset ${{ steps.command.outputs.command-arguments }} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
||||||
run: |
|
run: |
|
||||||
cd benchmarks
|
cd crates/benchmarks
|
||||||
cargo bench --bench ${{ steps.command.outputs.command-arguments }} -- --save-baseline ${{ steps.file.outputs.basename }}
|
cargo bench --bench ${{ steps.command.outputs.command-arguments }} -- --save-baseline ${{ steps.file.outputs.basename }}
|
||||||
|
|
||||||
# Generate critcmp files
|
# Generate critcmp files
|
||||||
|
@ -16,11 +16,9 @@ jobs:
|
|||||||
timeout-minutes: 4320 # 72h
|
timeout-minutes: 4320 # 72h
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
# Set variables
|
# Set variables
|
||||||
- name: Set current branch name
|
- name: Set current branch name
|
||||||
@ -43,7 +41,7 @@ jobs:
|
|||||||
# Run benchmarks
|
# Run benchmarks
|
||||||
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
||||||
run: |
|
run: |
|
||||||
cd benchmarks
|
cd crates/benchmarks
|
||||||
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
||||||
|
|
||||||
# Generate critcmp files
|
# Generate critcmp files
|
||||||
|
@ -15,11 +15,9 @@ jobs:
|
|||||||
runs-on: benchmarks
|
runs-on: benchmarks
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
# Set variables
|
# Set variables
|
||||||
- name: Set current branch name
|
- name: Set current branch name
|
||||||
@ -42,7 +40,7 @@ jobs:
|
|||||||
# Run benchmarks
|
# Run benchmarks
|
||||||
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
||||||
run: |
|
run: |
|
||||||
cd benchmarks
|
cd crates/benchmarks
|
||||||
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
||||||
|
|
||||||
# Generate critcmp files
|
# Generate critcmp files
|
||||||
|
@ -15,11 +15,9 @@ jobs:
|
|||||||
runs-on: benchmarks
|
runs-on: benchmarks
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
# Set variables
|
# Set variables
|
||||||
- name: Set current branch name
|
- name: Set current branch name
|
||||||
@ -42,7 +40,7 @@ jobs:
|
|||||||
# Run benchmarks
|
# Run benchmarks
|
||||||
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
||||||
run: |
|
run: |
|
||||||
cd benchmarks
|
cd crates/benchmarks
|
||||||
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
||||||
|
|
||||||
# Generate critcmp files
|
# Generate critcmp files
|
||||||
|
@ -15,11 +15,9 @@ jobs:
|
|||||||
runs-on: benchmarks
|
runs-on: benchmarks
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
# Set variables
|
# Set variables
|
||||||
- name: Set current branch name
|
- name: Set current branch name
|
||||||
@ -42,7 +40,7 @@ jobs:
|
|||||||
# Run benchmarks
|
# Run benchmarks
|
||||||
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
- name: Run benchmarks - Dataset ${BENCH_NAME} - Branch ${{ steps.current_branch.outputs.name }} - Commit ${{ steps.commit_sha.outputs.short }}
|
||||||
run: |
|
run: |
|
||||||
cd benchmarks
|
cd crates/benchmarks
|
||||||
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
cargo bench --bench ${BENCH_NAME} -- --save-baseline ${{ steps.file.outputs.basename }}
|
||||||
|
|
||||||
# Generate critcmp files
|
# Generate critcmp files
|
||||||
|
100
.github/workflows/check-valid-milestone.yml
vendored
Normal file
100
.github/workflows/check-valid-milestone.yml
vendored
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
name: PR Milestone Check
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [opened, reopened, edited, synchronize, milestoned, demilestoned]
|
||||||
|
branches:
|
||||||
|
- "main"
|
||||||
|
- "release-v*.*.*"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check-milestone:
|
||||||
|
name: Check PR Milestone
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Validate PR milestone
|
||||||
|
uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
// Get PR number directly from the event payload
|
||||||
|
const prNumber = context.payload.pull_request.number;
|
||||||
|
|
||||||
|
// Get PR details
|
||||||
|
const { data: prData } = await github.rest.pulls.get({
|
||||||
|
owner: 'meilisearch',
|
||||||
|
repo: 'meilisearch',
|
||||||
|
pull_number: prNumber
|
||||||
|
});
|
||||||
|
|
||||||
|
// Get base branch name
|
||||||
|
const baseBranch = prData.base.ref;
|
||||||
|
console.log(`Base branch: ${baseBranch}`);
|
||||||
|
|
||||||
|
// Get PR milestone
|
||||||
|
const prMilestone = prData.milestone;
|
||||||
|
if (!prMilestone) {
|
||||||
|
core.setFailed('PR must have a milestone assigned');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log(`PR milestone: ${prMilestone.title}`);
|
||||||
|
|
||||||
|
// Validate milestone format: vx.y.z
|
||||||
|
const milestoneRegex = /^v\d+\.\d+\.\d+$/;
|
||||||
|
if (!milestoneRegex.test(prMilestone.title)) {
|
||||||
|
core.setFailed(`Milestone "${prMilestone.title}" does not follow the required format vx.y.z`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// For main branch PRs, check if the milestone is the highest one
|
||||||
|
if (baseBranch === 'main') {
|
||||||
|
// Get all milestones
|
||||||
|
const { data: milestones } = await github.rest.issues.listMilestones({
|
||||||
|
owner: 'meilisearch',
|
||||||
|
repo: 'meilisearch',
|
||||||
|
state: 'open',
|
||||||
|
sort: 'due_on',
|
||||||
|
direction: 'desc'
|
||||||
|
});
|
||||||
|
|
||||||
|
// Sort milestones by version number (vx.y.z)
|
||||||
|
const sortedMilestones = milestones
|
||||||
|
.filter(m => milestoneRegex.test(m.title))
|
||||||
|
.sort((a, b) => {
|
||||||
|
const versionA = a.title.substring(1).split('.').map(Number);
|
||||||
|
const versionB = b.title.substring(1).split('.').map(Number);
|
||||||
|
|
||||||
|
// Compare major version
|
||||||
|
if (versionA[0] !== versionB[0]) return versionB[0] - versionA[0];
|
||||||
|
// Compare minor version
|
||||||
|
if (versionA[1] !== versionB[1]) return versionB[1] - versionA[1];
|
||||||
|
// Compare patch version
|
||||||
|
return versionB[2] - versionA[2];
|
||||||
|
});
|
||||||
|
|
||||||
|
if (sortedMilestones.length === 0) {
|
||||||
|
core.setFailed('No valid milestones found in the repository. Please create at least one milestone with the format vx.y.z');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const highestMilestone = sortedMilestones[0];
|
||||||
|
console.log(`Highest milestone: ${highestMilestone.title}`);
|
||||||
|
|
||||||
|
if (prMilestone.title !== highestMilestone.title) {
|
||||||
|
core.setFailed(`PRs targeting the main branch must use the highest milestone (${highestMilestone.title}), but this PR uses ${prMilestone.title}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// For release branches, the milestone should match the branch version
|
||||||
|
const branchVersion = baseBranch.substring(8); // remove 'release-'
|
||||||
|
if (prMilestone.title !== branchVersion) {
|
||||||
|
core.setFailed(`PRs targeting release branch "${baseBranch}" must use the matching milestone "${branchVersion}", but this PR uses "${prMilestone.title}"`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('PR milestone validation passed!');
|
40
.github/workflows/flaky-tests.yml
vendored
40
.github/workflows/flaky-tests.yml
vendored
@ -1,4 +1,5 @@
|
|||||||
name: Look for flaky tests
|
name: Look for flaky tests
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
@ -8,25 +9,22 @@ jobs:
|
|||||||
flaky:
|
flaky:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
# Use ubuntu-18.04 to compile with glibc 2.27, which are the production expectations
|
# Use ubuntu-22.04 to compile with glibc 2.35
|
||||||
image: ubuntu:18.04
|
image: ubuntu:22.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install needed dependencies
|
- name: Install needed dependencies
|
||||||
run: |
|
run: |
|
||||||
apt-get update && apt-get install -y curl
|
apt-get update && apt-get install -y curl
|
||||||
apt-get install build-essential -y
|
apt-get install build-essential -y
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
- name: Install cargo-flaky
|
||||||
toolchain: stable
|
run: cargo install cargo-flaky
|
||||||
override: true
|
- name: Run cargo flaky in the dumps
|
||||||
- name: Install cargo-flaky
|
run: cd crates/dump; cargo flaky -i 100 --release
|
||||||
run: cargo install cargo-flaky
|
- name: Run cargo flaky in the index-scheduler
|
||||||
- name: Run cargo flaky in the dumps
|
run: cd crates/index-scheduler; cargo flaky -i 100 --release
|
||||||
run: cd dump; cargo flaky -i 100 --release
|
- name: Run cargo flaky in the auth
|
||||||
- name: Run cargo flaky in the index-scheduler
|
run: cd crates/meilisearch-auth; cargo flaky -i 100 --release
|
||||||
run: cd index-scheduler; cargo flaky -i 100 --release
|
- name: Run cargo flaky in meilisearch
|
||||||
- name: Run cargo flaky in the auth
|
run: cd crates/meilisearch; cargo flaky -i 100 --release
|
||||||
run: cd meilisearch-auth; cargo flaky -i 100 --release
|
|
||||||
- name: Run cargo flaky in meilisearch
|
|
||||||
run: cd meilisearch; cargo flaky -i 100 --release
|
|
||||||
|
4
.github/workflows/fuzzer-indexing.yml
vendored
4
.github/workflows/fuzzer-indexing.yml
vendored
@ -12,11 +12,9 @@ jobs:
|
|||||||
timeout-minutes: 4320 # 72h
|
timeout-minutes: 4320 # 72h
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
|
|
||||||
# Run benchmarks
|
# Run benchmarks
|
||||||
- name: Run the fuzzer
|
- name: Run the fuzzer
|
||||||
|
45
.github/workflows/publish-apt-brew-pkg.yml
vendored
45
.github/workflows/publish-apt-brew-pkg.yml
vendored
@ -18,31 +18,28 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: check-version
|
needs: check-version
|
||||||
container:
|
container:
|
||||||
# Use ubuntu-18.04 to compile with glibc 2.27
|
# Use ubuntu-22.04 to compile with glibc 2.35
|
||||||
image: ubuntu:18.04
|
image: ubuntu:22.04
|
||||||
steps:
|
steps:
|
||||||
- name: Install needed dependencies
|
- name: Install needed dependencies
|
||||||
run: |
|
run: |
|
||||||
apt-get update && apt-get install -y curl
|
apt-get update && apt-get install -y curl
|
||||||
apt-get install build-essential -y
|
apt-get install build-essential -y
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
- name: Install cargo-deb
|
||||||
toolchain: stable
|
run: cargo install cargo-deb
|
||||||
override: true
|
- uses: actions/checkout@v3
|
||||||
- name: Install cargo-deb
|
- name: Build deb package
|
||||||
run: cargo install cargo-deb
|
run: cargo deb -p meilisearch -o target/debian/meilisearch.deb
|
||||||
- uses: actions/checkout@v3
|
- name: Upload debian pkg to release
|
||||||
- name: Build deb package
|
uses: svenstaro/upload-release-action@2.7.0
|
||||||
run: cargo deb -p meilisearch -o target/debian/meilisearch.deb
|
with:
|
||||||
- name: Upload debian pkg to release
|
repo_token: ${{ secrets.MEILI_BOT_GH_PAT }}
|
||||||
uses: svenstaro/upload-release-action@2.7.0
|
file: target/debian/meilisearch.deb
|
||||||
with:
|
asset_name: meilisearch.deb
|
||||||
repo_token: ${{ secrets.MEILI_BOT_GH_PAT }}
|
tag: ${{ github.ref }}
|
||||||
file: target/debian/meilisearch.deb
|
- name: Upload debian pkg to apt repository
|
||||||
asset_name: meilisearch.deb
|
run: curl -F package=@target/debian/meilisearch.deb https://${{ secrets.GEMFURY_PUSH_TOKEN }}@push.fury.io/meilisearch/
|
||||||
tag: ${{ github.ref }}
|
|
||||||
- name: Upload debian pkg to apt repository
|
|
||||||
run: curl -F package=@target/debian/meilisearch.deb https://${{ secrets.GEMFURY_PUSH_TOKEN }}@push.fury.io/meilisearch/
|
|
||||||
|
|
||||||
homebrew:
|
homebrew:
|
||||||
name: Bump Homebrew formula
|
name: Bump Homebrew formula
|
||||||
|
95
.github/workflows/publish-binaries.yml
vendored
95
.github/workflows/publish-binaries.yml
vendored
@ -3,7 +3,7 @@ name: Publish binaries to GitHub release
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 2 * * *' # Every day at 2:00am
|
- cron: "0 2 * * *" # Every day at 2:00am
|
||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
@ -37,29 +37,26 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: check-version
|
needs: check-version
|
||||||
container:
|
container:
|
||||||
# Use ubuntu-18.04 to compile with glibc 2.27
|
# Use ubuntu-22.04 to compile with glibc 2.35
|
||||||
image: ubuntu:18.04
|
image: ubuntu:22.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install needed dependencies
|
- name: Install needed dependencies
|
||||||
run: |
|
run: |
|
||||||
apt-get update && apt-get install -y curl
|
apt-get update && apt-get install -y curl
|
||||||
apt-get install build-essential -y
|
apt-get install build-essential -y
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
- name: Build
|
||||||
toolchain: stable
|
run: cargo build --release --locked
|
||||||
override: true
|
# No need to upload binaries for dry run (cron)
|
||||||
- name: Build
|
- name: Upload binaries to release
|
||||||
run: cargo build --release --locked
|
if: github.event_name == 'release'
|
||||||
# No need to upload binaries for dry run (cron)
|
uses: svenstaro/upload-release-action@2.7.0
|
||||||
- name: Upload binaries to release
|
with:
|
||||||
if: github.event_name == 'release'
|
repo_token: ${{ secrets.MEILI_BOT_GH_PAT }}
|
||||||
uses: svenstaro/upload-release-action@2.7.0
|
file: target/release/meilisearch
|
||||||
with:
|
asset_name: meilisearch-linux-amd64
|
||||||
repo_token: ${{ secrets.MEILI_BOT_GH_PAT }}
|
tag: ${{ github.ref }}
|
||||||
file: target/release/meilisearch
|
|
||||||
asset_name: meilisearch-linux-amd64
|
|
||||||
tag: ${{ github.ref }}
|
|
||||||
|
|
||||||
publish-macos-windows:
|
publish-macos-windows:
|
||||||
name: Publish binary for ${{ matrix.os }}
|
name: Publish binary for ${{ matrix.os }}
|
||||||
@ -68,35 +65,32 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-12, windows-2022]
|
os: [macos-13, windows-2022]
|
||||||
include:
|
include:
|
||||||
- os: macos-12
|
- os: macos-13
|
||||||
artifact_name: meilisearch
|
artifact_name: meilisearch
|
||||||
asset_name: meilisearch-macos-amd64
|
asset_name: meilisearch-macos-amd64
|
||||||
- os: windows-2022
|
- os: windows-2022
|
||||||
artifact_name: meilisearch.exe
|
artifact_name: meilisearch.exe
|
||||||
asset_name: meilisearch-windows-amd64.exe
|
asset_name: meilisearch-windows-amd64.exe
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
- name: Build
|
||||||
toolchain: stable
|
run: cargo build --release --locked
|
||||||
override: true
|
# No need to upload binaries for dry run (cron)
|
||||||
- name: Build
|
- name: Upload binaries to release
|
||||||
run: cargo build --release --locked
|
if: github.event_name == 'release'
|
||||||
# No need to upload binaries for dry run (cron)
|
uses: svenstaro/upload-release-action@2.7.0
|
||||||
- name: Upload binaries to release
|
with:
|
||||||
if: github.event_name == 'release'
|
repo_token: ${{ secrets.MEILI_BOT_GH_PAT }}
|
||||||
uses: svenstaro/upload-release-action@2.7.0
|
file: target/release/${{ matrix.artifact_name }}
|
||||||
with:
|
asset_name: ${{ matrix.asset_name }}
|
||||||
repo_token: ${{ secrets.MEILI_BOT_GH_PAT }}
|
tag: ${{ github.ref }}
|
||||||
file: target/release/${{ matrix.artifact_name }}
|
|
||||||
asset_name: ${{ matrix.asset_name }}
|
|
||||||
tag: ${{ github.ref }}
|
|
||||||
|
|
||||||
publish-macos-apple-silicon:
|
publish-macos-apple-silicon:
|
||||||
name: Publish binary for macOS silicon
|
name: Publish binary for macOS silicon
|
||||||
runs-on: macos-12
|
runs-on: macos-13
|
||||||
needs: check-version
|
needs: check-version
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
@ -107,12 +101,10 @@ jobs:
|
|||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Installing Rust toolchain
|
- name: Installing Rust toolchain
|
||||||
uses: actions-rs/toolchain@v1
|
uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
toolchain: stable
|
|
||||||
profile: minimal
|
profile: minimal
|
||||||
target: ${{ matrix.target }}
|
target: ${{ matrix.target }}
|
||||||
override: true
|
|
||||||
- name: Cargo build
|
- name: Cargo build
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
@ -132,9 +124,11 @@ jobs:
|
|||||||
name: Publish binary for aarch64
|
name: Publish binary for aarch64
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: check-version
|
needs: check-version
|
||||||
|
env:
|
||||||
|
DEBIAN_FRONTEND: noninteractive
|
||||||
container:
|
container:
|
||||||
# Use ubuntu-18.04 to compile with glibc 2.27
|
# Use ubuntu-22.04 to compile with glibc 2.35
|
||||||
image: ubuntu:18.04
|
image: ubuntu:22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
@ -154,12 +148,10 @@ jobs:
|
|||||||
add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||||
apt-get update -y && apt-get install -y docker-ce
|
apt-get update -y && apt-get install -y docker-ce
|
||||||
- name: Installing Rust toolchain
|
- name: Installing Rust toolchain
|
||||||
uses: actions-rs/toolchain@v1
|
uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
toolchain: stable
|
|
||||||
profile: minimal
|
profile: minimal
|
||||||
target: ${{ matrix.target }}
|
target: ${{ matrix.target }}
|
||||||
override: true
|
|
||||||
- name: Configure target aarch64 GNU
|
- name: Configure target aarch64 GNU
|
||||||
## Environment variable is not passed using env:
|
## Environment variable is not passed using env:
|
||||||
## LD gold won't work with MUSL
|
## LD gold won't work with MUSL
|
||||||
@ -170,6 +162,9 @@ jobs:
|
|||||||
echo '[target.aarch64-unknown-linux-gnu]' >> ~/.cargo/config
|
echo '[target.aarch64-unknown-linux-gnu]' >> ~/.cargo/config
|
||||||
echo 'linker = "aarch64-linux-gnu-gcc"' >> ~/.cargo/config
|
echo 'linker = "aarch64-linux-gnu-gcc"' >> ~/.cargo/config
|
||||||
echo 'JEMALLOC_SYS_WITH_LG_PAGE=16' >> $GITHUB_ENV
|
echo 'JEMALLOC_SYS_WITH_LG_PAGE=16' >> $GITHUB_ENV
|
||||||
|
- name: Install a default toolchain that will be used to build cargo cross
|
||||||
|
run: |
|
||||||
|
rustup default stable
|
||||||
- name: Cargo build
|
- name: Cargo build
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
|
3
.github/workflows/publish-docker-images.yml
vendored
3
.github/workflows/publish-docker-images.yml
vendored
@ -80,10 +80,11 @@ jobs:
|
|||||||
type=ref,event=tag
|
type=ref,event=tag
|
||||||
type=raw,value=nightly,enable=${{ github.event_name != 'push' }}
|
type=raw,value=nightly,enable=${{ github.event_name != 'push' }}
|
||||||
type=semver,pattern=v{{major}}.{{minor}},enable=${{ steps.check-tag-format.outputs.stable == 'true' }}
|
type=semver,pattern=v{{major}}.{{minor}},enable=${{ steps.check-tag-format.outputs.stable == 'true' }}
|
||||||
|
type=semver,pattern=v{{major}},enable=${{ steps.check-tag-format.outputs.stable == 'true' }}
|
||||||
type=raw,value=latest,enable=${{ steps.check-tag-format.outputs.stable == 'true' && steps.check-tag-format.outputs.latest == 'true' }}
|
type=raw,value=latest,enable=${{ steps.check-tag-format.outputs.stable == 'true' && steps.check-tag-format.outputs.latest == 'true' }}
|
||||||
|
|
||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64,linux/arm64
|
||||||
|
2
.github/workflows/sdks-tests.yml
vendored
2
.github/workflows/sdks-tests.yml
vendored
@ -52,7 +52,7 @@ jobs:
|
|||||||
- name: Setup .NET Core
|
- name: Setup .NET Core
|
||||||
uses: actions/setup-dotnet@v4
|
uses: actions/setup-dotnet@v4
|
||||||
with:
|
with:
|
||||||
dotnet-version: "6.0.x"
|
dotnet-version: "8.0.x"
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: dotnet restore
|
run: dotnet restore
|
||||||
- name: Build
|
- name: Build
|
||||||
|
111
.github/workflows/test-suite.yml
vendored
111
.github/workflows/test-suite.yml
vendored
@ -4,13 +4,9 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
# Everyday at 5:00am
|
# Everyday at 5:00am
|
||||||
- cron: '0 5 * * *'
|
- cron: "0 5 * * *"
|
||||||
pull_request:
|
pull_request:
|
||||||
push:
|
merge_group:
|
||||||
# trying and staging branches are for Bors config
|
|
||||||
branches:
|
|
||||||
- trying
|
|
||||||
- staging
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
@ -19,24 +15,21 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-linux:
|
test-linux:
|
||||||
name: Tests on ubuntu-18.04
|
name: Tests on ubuntu-22.04
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
# Use ubuntu-18.04 to compile with glibc 2.27, which are the production expectations
|
# Use ubuntu-22.04 to compile with glibc 2.35
|
||||||
image: ubuntu:18.04
|
image: ubuntu:22.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Install needed dependencies
|
- name: Install needed dependencies
|
||||||
run: |
|
run: |
|
||||||
apt-get update && apt-get install -y curl
|
apt-get update && apt-get install -y curl
|
||||||
apt-get install build-essential -y
|
apt-get install build-essential -y
|
||||||
- name: Setup test with Rust stable
|
- name: Setup test with Rust stable
|
||||||
uses: actions-rs/toolchain@v1
|
uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
- name: Cache dependencies
|
- name: Cache dependencies
|
||||||
uses: Swatinem/rust-cache@v2.7.1
|
uses: Swatinem/rust-cache@v2.7.7
|
||||||
- name: Run cargo check without any default features
|
- name: Run cargo check without any default features
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
@ -54,15 +47,12 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-12, windows-2022]
|
os: [macos-13, windows-2022]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Cache dependencies
|
- name: Cache dependencies
|
||||||
uses: Swatinem/rust-cache@v2.7.1
|
uses: Swatinem/rust-cache@v2.7.7
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
- name: Run cargo check without any default features
|
- name: Run cargo check without any default features
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
@ -78,8 +68,8 @@ jobs:
|
|||||||
name: Tests almost all features
|
name: Tests almost all features
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
# Use ubuntu-18.04 to compile with glibc 2.27, which are the production expectations
|
# Use ubuntu-22.04 to compile with glibc 2.35
|
||||||
image: ubuntu:18.04
|
image: ubuntu:22.04
|
||||||
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
|
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@ -87,22 +77,51 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install --assume-yes build-essential curl
|
apt-get install --assume-yes build-essential curl
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
- name: Run cargo build with almost all features
|
- name: Run cargo build with almost all features
|
||||||
run: |
|
run: |
|
||||||
cargo build --workspace --locked --release --features "$(cargo xtask list-features --exclude-feature cuda)"
|
cargo build --workspace --locked --release --features "$(cargo xtask list-features --exclude-feature cuda,test-ollama)"
|
||||||
- name: Run cargo test with almost all features
|
- name: Run cargo test with almost all features
|
||||||
run: |
|
run: |
|
||||||
cargo test --workspace --locked --release --features "$(cargo xtask list-features --exclude-feature cuda)"
|
cargo test --workspace --locked --release --features "$(cargo xtask list-features --exclude-feature cuda,test-ollama)"
|
||||||
|
|
||||||
|
ollama-ubuntu:
|
||||||
|
name: Test with Ollama
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
MEILI_TEST_OLLAMA_SERVER: "http://localhost:11434"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Install Ollama
|
||||||
|
run: |
|
||||||
|
curl -fsSL https://ollama.com/install.sh | sudo -E sh
|
||||||
|
- name: Start serving
|
||||||
|
run: |
|
||||||
|
# Run it in the background, there is no way to daemonise at the moment
|
||||||
|
ollama serve &
|
||||||
|
|
||||||
|
# A short pause is required before the HTTP port is opened
|
||||||
|
sleep 5
|
||||||
|
|
||||||
|
# This endpoint blocks until ready
|
||||||
|
time curl -i http://localhost:11434
|
||||||
|
|
||||||
|
- name: Pull nomic-embed-text & all-minilm
|
||||||
|
run: |
|
||||||
|
ollama pull nomic-embed-text
|
||||||
|
ollama pull all-minilm
|
||||||
|
|
||||||
|
- name: Run cargo test
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: test
|
||||||
|
args: --locked --release --all --features test-ollama ollama
|
||||||
|
|
||||||
test-disabled-tokenization:
|
test-disabled-tokenization:
|
||||||
name: Test disabled tokenization
|
name: Test disabled tokenization
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: ubuntu:18.04
|
image: ubuntu:22.04
|
||||||
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
|
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@ -110,13 +129,10 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install --assume-yes build-essential curl
|
apt-get install --assume-yes build-essential curl
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
- name: Run cargo tree without default features and check lindera is not present
|
- name: Run cargo tree without default features and check lindera is not present
|
||||||
run: |
|
run: |
|
||||||
if cargo tree -f '{p} {f}' -e normal --no-default-features | grep -vqz lindera; then
|
if cargo tree -f '{p} {f}' -e normal --no-default-features | grep -qz lindera; then
|
||||||
echo "lindera has been found in the sources and it shouldn't"
|
echo "lindera has been found in the sources and it shouldn't"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@ -129,20 +145,17 @@ jobs:
|
|||||||
name: Run tests in debug
|
name: Run tests in debug
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
# Use ubuntu-18.04 to compile with glibc 2.27, which are the production expectations
|
# Use ubuntu-22.04 to compile with glibc 2.35
|
||||||
image: ubuntu:18.04
|
image: ubuntu:22.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Install needed dependencies
|
- name: Install needed dependencies
|
||||||
run: |
|
run: |
|
||||||
apt-get update && apt-get install -y curl
|
apt-get update && apt-get install -y curl
|
||||||
apt-get install build-essential -y
|
apt-get install build-essential -y
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
- name: Cache dependencies
|
- name: Cache dependencies
|
||||||
uses: Swatinem/rust-cache@v2.7.1
|
uses: Swatinem/rust-cache@v2.7.7
|
||||||
- name: Run tests in debug
|
- name: Run tests in debug
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
@ -154,14 +167,12 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: 1.75.0
|
|
||||||
override: true
|
|
||||||
components: clippy
|
components: clippy
|
||||||
- name: Cache dependencies
|
- name: Cache dependencies
|
||||||
uses: Swatinem/rust-cache@v2.7.1
|
uses: Swatinem/rust-cache@v2.7.7
|
||||||
- name: Run cargo clippy
|
- name: Run cargo clippy
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
@ -173,18 +184,18 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: nightly
|
toolchain: nightly-2024-07-09
|
||||||
override: true
|
override: true
|
||||||
components: rustfmt
|
components: rustfmt
|
||||||
- name: Cache dependencies
|
- name: Cache dependencies
|
||||||
uses: Swatinem/rust-cache@v2.7.1
|
uses: Swatinem/rust-cache@v2.7.7
|
||||||
- name: Run cargo fmt
|
- name: Run cargo fmt
|
||||||
# Since we never ran the `build.rs` script in the benchmark directory we are missing one auto-generated import file.
|
# Since we never ran the `build.rs` script in the benchmark directory we are missing one auto-generated import file.
|
||||||
# Since we want to trigger (and fail) this action as fast as possible, instead of building the benchmark crate
|
# Since we want to trigger (and fail) this action as fast as possible, instead of building the benchmark crate
|
||||||
# we are going to create an empty file where rustfmt expects it.
|
# we are going to create an empty file where rustfmt expects it.
|
||||||
run: |
|
run: |
|
||||||
echo -ne "\n" > benchmarks/benches/datasets_paths.rs
|
echo -ne "\n" > crates/benchmarks/benches/datasets_paths.rs
|
||||||
cargo fmt --all -- --check
|
cargo fmt --all -- --check
|
||||||
|
@ -18,11 +18,9 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: dtolnay/rust-toolchain@1.81
|
||||||
with:
|
with:
|
||||||
profile: minimal
|
profile: minimal
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
- name: Install sd
|
- name: Install sd
|
||||||
run: cargo install sd
|
run: cargo install sd
|
||||||
- name: Update Cargo.toml file
|
- name: Update Cargo.toml file
|
||||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -5,12 +5,12 @@
|
|||||||
**/*.json_lines
|
**/*.json_lines
|
||||||
**/*.rs.bk
|
**/*.rs.bk
|
||||||
/*.mdb
|
/*.mdb
|
||||||
/query-history.txt
|
|
||||||
/data.ms
|
/data.ms
|
||||||
/snapshots
|
/snapshots
|
||||||
/dumps
|
/dumps
|
||||||
/bench
|
/bench
|
||||||
/_xtask_benchmark.ms
|
/_xtask_benchmark.ms
|
||||||
|
/benchmarks
|
||||||
|
|
||||||
# Snapshots
|
# Snapshots
|
||||||
## ... large
|
## ... large
|
||||||
@ -19,4 +19,4 @@
|
|||||||
*.snap.new
|
*.snap.new
|
||||||
|
|
||||||
# Fuzzcheck data for the facet indexing fuzz test
|
# Fuzzcheck data for the facet indexing fuzz test
|
||||||
milli/fuzz/update::facet::incremental::fuzz::fuzz/
|
crates/milli/fuzz/update::facet::incremental::fuzz::fuzz/
|
||||||
|
@ -48,6 +48,27 @@ cargo xtask bench --no-dashboard -- workloads/my_workload_1.json workloads/my_wo
|
|||||||
|
|
||||||
For processing the results, look at [Looking at benchmark results/Without dashboard](#without-dashboard).
|
For processing the results, look at [Looking at benchmark results/Without dashboard](#without-dashboard).
|
||||||
|
|
||||||
|
#### Sending a workload by hand
|
||||||
|
|
||||||
|
Sometimes you want to visualize the metrics of a worlkoad that comes from a custom report.
|
||||||
|
It is not quite easy to trick the benchboard in thinking that your report is legitimate but here are the commands you can run to upload your firefox report on a running benchboard.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Name this hostname whatever you want
|
||||||
|
echo '{ "hostname": "the-best-place" }' | xh PUT 'http://127.0.0.1:9001/api/v1/machine'
|
||||||
|
|
||||||
|
# You'll receive an UUID from this command that we will call $invocation_uuid
|
||||||
|
echo '{ "commit": { "sha1": "1234567", "commit_date": "2024-09-05 12:00:12.0 +00:00:00", "message": "A cool message" }, "machine_hostname": "the-best-place", "max_workloads": 1 }' | xh PUT 'http://127.0.0.1:9001/api/v1/invocation'
|
||||||
|
|
||||||
|
# Just use UUID from the previous command
|
||||||
|
# and you'll receive another UUID that we will call $workload_uuid
|
||||||
|
echo '{ "invocation_uuid": "$invocation_uuid", "name": "toto", "max_runs": 1 }' | xh PUT 'http://127.0.0.1:9001/api/v1/workload'
|
||||||
|
|
||||||
|
# And now use your $workload_uuid and the content of your firefox report
|
||||||
|
# but don't forget to convert your firefox report from JSONLines into an object
|
||||||
|
echo '{ "workload_uuid": "$workload_uuid", "data": $REPORT_JSON_DATA }' | xh PUT 'http://127.0.0.1:9001/api/v1/run'
|
||||||
|
```
|
||||||
|
|
||||||
### In CI
|
### In CI
|
||||||
|
|
||||||
We have dedicated runners to run workloads on CI. Currently, there are three ways of running the CI:
|
We have dedicated runners to run workloads on CI. Currently, there are three ways of running the CI:
|
||||||
@ -109,6 +130,12 @@ They are JSON files with the following structure (comments are not actually supp
|
|||||||
"run_count": 3,
|
"run_count": 3,
|
||||||
// List of arguments to add to the Meilisearch command line.
|
// List of arguments to add to the Meilisearch command line.
|
||||||
"extra_cli_args": ["--max-indexing-threads=1"],
|
"extra_cli_args": ["--max-indexing-threads=1"],
|
||||||
|
// An expression that can be parsed as a comma-separated list of targets and levels
|
||||||
|
// as described in [tracing_subscriber's documentation](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/targets/struct.Targets.html#examples).
|
||||||
|
// The expression is used to filter the spans that are measured for profiling purposes.
|
||||||
|
// Optional, defaults to "indexing::=trace" (for indexing workloads), common other values is
|
||||||
|
// "search::=trace"
|
||||||
|
"target": "indexing::=trace",
|
||||||
// List of named assets that can be used in the commands.
|
// List of named assets that can be used in the commands.
|
||||||
"assets": {
|
"assets": {
|
||||||
// name of the asset.
|
// name of the asset.
|
||||||
@ -187,8 +214,8 @@ They are JSON files with the following structure (comments are not actually supp
|
|||||||
},
|
},
|
||||||
// Core of the workload.
|
// Core of the workload.
|
||||||
// A list of commands to run sequentially.
|
// A list of commands to run sequentially.
|
||||||
// A command is a request to the Meilisearch instance that is executed while the profiling runs.
|
// Optional: A precommand is a request to the Meilisearch instance that is executed before the profiling runs.
|
||||||
"commands": [
|
"precommands": [
|
||||||
{
|
{
|
||||||
// Meilisearch route to call. `http://localhost:7700/` will be prepended.
|
// Meilisearch route to call. `http://localhost:7700/` will be prepended.
|
||||||
"route": "indexes/movies/settings",
|
"route": "indexes/movies/settings",
|
||||||
@ -224,8 +251,11 @@ They are JSON files with the following structure (comments are not actually supp
|
|||||||
// - DontWait: run the next command without waiting the response to this one.
|
// - DontWait: run the next command without waiting the response to this one.
|
||||||
// - WaitForResponse: run the next command as soon as the response from the server is received.
|
// - WaitForResponse: run the next command as soon as the response from the server is received.
|
||||||
// - WaitForTask: run the next command once **all** the Meilisearch tasks created up to now have finished processing.
|
// - WaitForTask: run the next command once **all** the Meilisearch tasks created up to now have finished processing.
|
||||||
"synchronous": "DontWait"
|
"synchronous": "WaitForTask"
|
||||||
},
|
}
|
||||||
|
],
|
||||||
|
// A command is a request to the Meilisearch instance that is executed while the profiling runs.
|
||||||
|
"commands": [
|
||||||
{
|
{
|
||||||
"route": "indexes/movies/documents",
|
"route": "indexes/movies/documents",
|
||||||
"method": "POST",
|
"method": "POST",
|
||||||
|
@ -52,6 +52,20 @@ cargo test
|
|||||||
|
|
||||||
This command will be triggered to each PR as a requirement for merging it.
|
This command will be triggered to each PR as a requirement for merging it.
|
||||||
|
|
||||||
|
#### Faster build
|
||||||
|
|
||||||
|
You can set the `LINDERA_CACHE` environment variable to speed up your successive builds by up to 2 minutes.
|
||||||
|
It'll store some built artifacts in the directory of your choice.
|
||||||
|
|
||||||
|
We recommend using the standard `$HOME/.cache/lindera` directory:
|
||||||
|
```sh
|
||||||
|
export LINDERA_CACHE=$HOME/.cache/lindera
|
||||||
|
```
|
||||||
|
|
||||||
|
Furthermore, you can improve incremental compilation by setting the `MEILI_NO_VERGEN` environment variable.
|
||||||
|
Setting this variable will prevent the Meilisearch binary from being rebuilt each time the directory that hosts the Meilisearch repository changes.
|
||||||
|
Do not enable this environment variable for production builds (as it will break the `version` route, among other things).
|
||||||
|
|
||||||
#### Snapshot-based tests
|
#### Snapshot-based tests
|
||||||
|
|
||||||
We are using [insta](https://insta.rs) to perform snapshot-based testing.
|
We are using [insta](https://insta.rs) to perform snapshot-based testing.
|
||||||
@ -63,7 +77,7 @@ Furthermore, we provide some macros on top of insta, notably a way to use snapsh
|
|||||||
|
|
||||||
To effectively debug snapshot-based hashes, we recommend you export the `MEILI_TEST_FULL_SNAPS` environment variable so that snapshot are fully created locally:
|
To effectively debug snapshot-based hashes, we recommend you export the `MEILI_TEST_FULL_SNAPS` environment variable so that snapshot are fully created locally:
|
||||||
|
|
||||||
```
|
```sh
|
||||||
export MEILI_TEST_FULL_SNAPS=true # add this to your .bashrc, .zshrc, ...
|
export MEILI_TEST_FULL_SNAPS=true # add this to your .bashrc, .zshrc, ...
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -81,6 +95,11 @@ Meilisearch follows the [cargo xtask](https://github.com/matklad/cargo-xtask) wo
|
|||||||
|
|
||||||
Run `cargo xtask --help` from the root of the repository to find out what is available.
|
Run `cargo xtask --help` from the root of the repository to find out what is available.
|
||||||
|
|
||||||
|
#### Update the openAPI file if the API changed
|
||||||
|
|
||||||
|
To update the openAPI file in the code, see [sprint_issue.md](https://github.com/meilisearch/meilisearch/blob/main/.github/ISSUE_TEMPLATE/sprint_issue.md#reminders-when-modifying-the-api).
|
||||||
|
If you want to update the openAPI file on the [open-api repository](https://github.com/meilisearch/open-api), see [update-openapi-issue.md](https://github.com/meilisearch/engine-team/blob/main/issue-templates/update-openapi-issue.md).
|
||||||
|
|
||||||
### Logging
|
### Logging
|
||||||
|
|
||||||
Meilisearch uses [`tracing`](https://lib.rs/crates/tracing) for logging purposes. Tracing logs are structured and can be displayed as JSON to the end user, so prefer passing arguments as fields rather than interpolating them in the message.
|
Meilisearch uses [`tracing`](https://lib.rs/crates/tracing) for logging purposes. Tracing logs are structured and can be displayed as JSON to the end user, so prefer passing arguments as fields rather than interpolating them in the message.
|
||||||
@ -131,7 +150,7 @@ Some notes on GitHub PRs:
|
|||||||
- The PR title should be accurate and descriptive of the changes.
|
- The PR title should be accurate and descriptive of the changes.
|
||||||
- [Convert your PR as a draft](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request) if your changes are a work in progress: no one will review it until you pass your PR as ready for review.<br>
|
- [Convert your PR as a draft](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request) if your changes are a work in progress: no one will review it until you pass your PR as ready for review.<br>
|
||||||
The draft PRs are recommended when you want to show that you are working on something and make your work visible.
|
The draft PRs are recommended when you want to show that you are working on something and make your work visible.
|
||||||
- The branch related to the PR must be **up-to-date with `main`** before merging. Fortunately, this project uses [Bors](https://github.com/bors-ng/bors-ng) to automatically enforce this requirement without the PR author having to rebase manually.
|
- The branch related to the PR must be **up-to-date with `main`** before merging. Fortunately, this project uses [GitHub Merge Queues](https://github.blog/news-insights/product-news/github-merge-queue-is-generally-available/) to automatically enforce this requirement without the PR author having to rebase manually.
|
||||||
|
|
||||||
## Release Process (for internal team only)
|
## Release Process (for internal team only)
|
||||||
|
|
||||||
@ -139,8 +158,7 @@ Meilisearch tools follow the [Semantic Versioning Convention](https://semver.org
|
|||||||
|
|
||||||
### Automation to rebase and Merge the PRs
|
### Automation to rebase and Merge the PRs
|
||||||
|
|
||||||
This project integrates a bot that helps us manage pull requests merging.<br>
|
This project uses GitHub Merge Queues that helps us manage pull requests merging.
|
||||||
_[Read more about this](https://github.com/meilisearch/integration-guides/blob/main/resources/bors.md)._
|
|
||||||
|
|
||||||
### How to Publish a new Release
|
### How to Publish a new Release
|
||||||
|
|
||||||
|
3061
Cargo.lock
generated
3061
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
65
Cargo.toml
65
Cargo.toml
@ -1,28 +1,28 @@
|
|||||||
[workspace]
|
[workspace]
|
||||||
resolver = "2"
|
resolver = "2"
|
||||||
members = [
|
members = [
|
||||||
"meilisearch",
|
"crates/meilisearch",
|
||||||
"meilitool",
|
"crates/meilitool",
|
||||||
"meilisearch-types",
|
"crates/meilisearch-types",
|
||||||
"meilisearch-auth",
|
"crates/meilisearch-auth",
|
||||||
"meili-snap",
|
"crates/meili-snap",
|
||||||
"index-scheduler",
|
"crates/index-scheduler",
|
||||||
"dump",
|
"crates/dump",
|
||||||
"file-store",
|
"crates/file-store",
|
||||||
"permissive-json-pointer",
|
"crates/permissive-json-pointer",
|
||||||
"milli",
|
"crates/milli",
|
||||||
"filter-parser",
|
"crates/filter-parser",
|
||||||
"flatten-serde-json",
|
"crates/flatten-serde-json",
|
||||||
"json-depth-checker",
|
"crates/json-depth-checker",
|
||||||
"benchmarks",
|
"crates/benchmarks",
|
||||||
"fuzzers",
|
"crates/fuzzers",
|
||||||
"tracing-trace",
|
"crates/tracing-trace",
|
||||||
"xtask",
|
"crates/xtask",
|
||||||
"build-info",
|
"crates/build-info",
|
||||||
]
|
]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "1.8.2"
|
version = "1.14.0"
|
||||||
authors = [
|
authors = [
|
||||||
"Quentin de Quelen <quentin@dequelen.me>",
|
"Quentin de Quelen <quentin@dequelen.me>",
|
||||||
"Clément Renault <clement@meilisearch.com>",
|
"Clément Renault <clement@meilisearch.com>",
|
||||||
@ -36,6 +36,12 @@ license = "MIT"
|
|||||||
[profile.release]
|
[profile.release]
|
||||||
codegen-units = 1
|
codegen-units = 1
|
||||||
|
|
||||||
|
# We now compile heed without the NDEBUG define for better performance.
|
||||||
|
# However, we still enable debug assertions for a better detection of
|
||||||
|
# disk corruption on the cloud or in OSS.
|
||||||
|
[profile.release.package.heed]
|
||||||
|
debug-assertions = true
|
||||||
|
|
||||||
[profile.dev.package.flate2]
|
[profile.dev.package.flate2]
|
||||||
opt-level = 3
|
opt-level = 3
|
||||||
|
|
||||||
@ -43,24 +49,3 @@ opt-level = 3
|
|||||||
opt-level = 3
|
opt-level = 3
|
||||||
[profile.dev.package.roaring]
|
[profile.dev.package.roaring]
|
||||||
opt-level = 3
|
opt-level = 3
|
||||||
|
|
||||||
[profile.dev.package.lindera-ipadic-builder]
|
|
||||||
opt-level = 3
|
|
||||||
[profile.dev.package.encoding]
|
|
||||||
opt-level = 3
|
|
||||||
[profile.dev.package.yada]
|
|
||||||
opt-level = 3
|
|
||||||
|
|
||||||
[profile.release.package.lindera-ipadic-builder]
|
|
||||||
opt-level = 3
|
|
||||||
[profile.release.package.encoding]
|
|
||||||
opt-level = 3
|
|
||||||
[profile.release.package.yada]
|
|
||||||
opt-level = 3
|
|
||||||
|
|
||||||
[profile.bench.package.lindera-ipadic-builder]
|
|
||||||
opt-level = 3
|
|
||||||
[profile.bench.package.encoding]
|
|
||||||
opt-level = 3
|
|
||||||
[profile.bench.package.yada]
|
|
||||||
opt-level = 3
|
|
||||||
|
10
Dockerfile
10
Dockerfile
@ -1,7 +1,7 @@
|
|||||||
# Compile
|
# Compile
|
||||||
FROM rust:1.75.0-alpine3.18 AS compiler
|
FROM rust:1.81.0-alpine3.20 AS compiler
|
||||||
|
|
||||||
RUN apk add -q --update-cache --no-cache build-base openssl-dev
|
RUN apk add -q --no-cache build-base openssl-dev
|
||||||
|
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
|
|
||||||
@ -20,13 +20,13 @@ RUN set -eux; \
|
|||||||
cargo build --release -p meilisearch -p meilitool
|
cargo build --release -p meilisearch -p meilitool
|
||||||
|
|
||||||
# Run
|
# Run
|
||||||
FROM alpine:3.16
|
FROM alpine:3.20
|
||||||
|
LABEL org.opencontainers.image.source="https://github.com/meilisearch/meilisearch"
|
||||||
|
|
||||||
ENV MEILI_HTTP_ADDR 0.0.0.0:7700
|
ENV MEILI_HTTP_ADDR 0.0.0.0:7700
|
||||||
ENV MEILI_SERVER_PROVIDER docker
|
ENV MEILI_SERVER_PROVIDER docker
|
||||||
|
|
||||||
RUN apk update --quiet \
|
RUN apk add -q --no-cache libgcc tini curl
|
||||||
&& apk add -q --no-cache libgcc tini curl
|
|
||||||
|
|
||||||
# add meilisearch and meilitool to the `/bin` so you can run it from anywhere
|
# add meilisearch and meilitool to the `/bin` so you can run it from anywhere
|
||||||
# and it's easy to find.
|
# and it's easy to find.
|
||||||
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2019-2024 Meili SAS
|
Copyright (c) 2019-2025 Meili SAS
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
42
README.md
42
README.md
@ -20,12 +20,12 @@
|
|||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://deps.rs/repo/github/meilisearch/meilisearch"><img src="https://deps.rs/repo/github/meilisearch/meilisearch/status.svg" alt="Dependency status"></a>
|
<a href="https://deps.rs/repo/github/meilisearch/meilisearch"><img src="https://deps.rs/repo/github/meilisearch/meilisearch/status.svg" alt="Dependency status"></a>
|
||||||
<a href="https://github.com/meilisearch/meilisearch/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-informational" alt="License"></a>
|
<a href="https://github.com/meilisearch/meilisearch/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-informational" alt="License"></a>
|
||||||
<a href="https://ms-bors.herokuapp.com/repositories/52"><img src="https://bors.tech/images/badge_small.svg" alt="Bors enabled"></a>
|
<a href="https://github.com/meilisearch/meilisearch/queue"><img alt="Merge Queues enabled" src="https://img.shields.io/badge/Merge_Queues-enabled-%2357cf60?logo=github"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">⚡ A lightning-fast search engine that fits effortlessly into your apps, websites, and workflow 🔍</p>
|
<p align="center">⚡ A lightning-fast search engine that fits effortlessly into your apps, websites, and workflow 🔍</p>
|
||||||
|
|
||||||
Meilisearch helps you shape a delightful search experience in a snap, offering features that work out-of-the-box to speed up your workflow.
|
[Meilisearch](https://www.meilisearch.com?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=intro) helps you shape a delightful search experience in a snap, offering features that work out of the box to speed up your workflow.
|
||||||
|
|
||||||
<p align="center" name="demo">
|
<p align="center" name="demo">
|
||||||
<a href="https://where2watch.meilisearch.com/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=demo-gif#gh-light-mode-only" target="_blank">
|
<a href="https://where2watch.meilisearch.com/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=demo-gif#gh-light-mode-only" target="_blank">
|
||||||
@ -36,34 +36,42 @@ Meilisearch helps you shape a delightful search experience in a snap, offering f
|
|||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
🔥 [**Try it!**](https://where2watch.meilisearch.com/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=demo-link) 🔥
|
## 🖥 Examples
|
||||||
|
|
||||||
|
- [**Movies**](https://where2watch.meilisearch.com/?utm_campaign=oss&utm_source=github&utm_medium=organization) — An application to help you find streaming platforms to watch movies using [hybrid search](https://www.meilisearch.com/solutions/hybrid-search?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=demos).
|
||||||
|
- [**Ecommerce**](https://ecommerce.meilisearch.com/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=demos) — Ecommerce website using disjunctive [facets](https://www.meilisearch.com/docs/learn/fine_tuning_results/faceted_search?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=demos), range and rating filtering, and pagination.
|
||||||
|
- [**Songs**](https://music.meilisearch.com/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=demos) — Search through 47 million of songs.
|
||||||
|
- [**SaaS**](https://saas.meilisearch.com/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=demos) — Search for contacts, deals, and companies in this [multi-tenant](https://www.meilisearch.com/docs/learn/security/multitenancy_tenant_tokens?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=demos) CRM application.
|
||||||
|
|
||||||
|
See the list of all our example apps in our [demos repository](https://github.com/meilisearch/demos).
|
||||||
|
|
||||||
## ✨ Features
|
## ✨ Features
|
||||||
|
- **Hybrid search:** Combine the best of both [semantic](https://www.meilisearch.com/docs/learn/experimental/vector_search?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features) & full-text search to get the most relevant results
|
||||||
- **Search-as-you-type:** find search results in less than 50 milliseconds
|
- **Search-as-you-type:** Find & display results in less than 50 milliseconds to provide an intuitive experience
|
||||||
- **[Typo tolerance](https://www.meilisearch.com/docs/learn/configuration/typo_tolerance?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** get relevant matches even when queries contain typos and misspellings
|
- **[Typo tolerance](https://www.meilisearch.com/docs/learn/relevancy/typo_tolerance_settings?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** get relevant matches even when queries contain typos and misspellings
|
||||||
- **[Filtering](https://www.meilisearch.com/docs/learn/fine_tuning_results/filtering?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features) and [faceted search](https://www.meilisearch.com/docs/learn/fine_tuning_results/faceted_search?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** enhance your users' search experience with custom filters and build a faceted search interface in a few lines of code
|
- **[Filtering](https://www.meilisearch.com/docs/learn/fine_tuning_results/filtering?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features) and [faceted search](https://www.meilisearch.com/docs/learn/fine_tuning_results/faceted_search?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** enhance your users' search experience with custom filters and build a faceted search interface in a few lines of code
|
||||||
- **[Sorting](https://www.meilisearch.com/docs/learn/fine_tuning_results/sorting?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** sort results based on price, date, or pretty much anything else your users need
|
- **[Sorting](https://www.meilisearch.com/docs/learn/fine_tuning_results/sorting?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** sort results based on price, date, or pretty much anything else your users need
|
||||||
- **[Synonym support](https://www.meilisearch.com/docs/learn/configuration/synonyms?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** configure synonyms to include more relevant content in your search results
|
- **[Synonym support](https://www.meilisearch.com/docs/learn/relevancy/synonyms?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** configure synonyms to include more relevant content in your search results
|
||||||
- **[Geosearch](https://www.meilisearch.com/docs/learn/fine_tuning_results/geosearch?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** filter and sort documents based on geographic data
|
- **[Geosearch](https://www.meilisearch.com/docs/learn/fine_tuning_results/geosearch?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** filter and sort documents based on geographic data
|
||||||
- **[Extensive language support](https://www.meilisearch.com/docs/learn/what_is_meilisearch/language?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** search datasets in any language, with optimized support for Chinese, Japanese, Hebrew, and languages using the Latin alphabet
|
- **[Extensive language support](https://www.meilisearch.com/docs/learn/what_is_meilisearch/language?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** search datasets in any language, with optimized support for Chinese, Japanese, Hebrew, and languages using the Latin alphabet
|
||||||
- **[Security management](https://www.meilisearch.com/docs/learn/security/master_api_keys?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** control which users can access what data with API keys that allow fine-grained permissions handling
|
- **[Security management](https://www.meilisearch.com/docs/learn/security/master_api_keys?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** control which users can access what data with API keys that allow fine-grained permissions handling
|
||||||
- **[Multi-Tenancy](https://www.meilisearch.com/docs/learn/security/tenant_tokens?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** personalize search results for any number of application tenants
|
- **[Multi-Tenancy](https://www.meilisearch.com/docs/learn/security/multitenancy_tenant_tokens?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** personalize search results for any number of application tenants
|
||||||
- **Highly Customizable:** customize Meilisearch to your specific needs or use our out-of-the-box and hassle-free presets
|
- **Highly Customizable:** customize Meilisearch to your specific needs or use our out-of-the-box and hassle-free presets
|
||||||
- **[RESTful API](https://www.meilisearch.com/docs/reference/api/overview?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** integrate Meilisearch in your technical stack with our plugins and SDKs
|
- **[RESTful API](https://www.meilisearch.com/docs/reference/api/overview?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=features):** integrate Meilisearch in your technical stack with our plugins and SDKs
|
||||||
|
- **AI-ready:** works out of the box with [langchain](https://www.meilisearch.com/with/langchain) and the [model context protocol](https://github.com/meilisearch/meilisearch-mcp)
|
||||||
- **Easy to install, deploy, and maintain**
|
- **Easy to install, deploy, and maintain**
|
||||||
|
|
||||||
## 📖 Documentation
|
## 📖 Documentation
|
||||||
|
|
||||||
You can consult Meilisearch's documentation at [https://www.meilisearch.com/docs](https://www.meilisearch.com/docs/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=docs).
|
You can consult Meilisearch's documentation at [meilisearch.com/docs](https://www.meilisearch.com/docs/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=docs).
|
||||||
|
|
||||||
## 🚀 Getting started
|
## 🚀 Getting started
|
||||||
|
|
||||||
For basic instructions on how to set up Meilisearch, add documents to an index, and search for documents, take a look at our [Quick Start](https://www.meilisearch.com/docs/learn/getting_started/quick_start?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=get-started) guide.
|
For basic instructions on how to set up Meilisearch, add documents to an index, and search for documents, take a look at our [documentation](https://www.meilisearch.com/docs?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=get-started) guide.
|
||||||
|
|
||||||
## ⚡ Supercharge your Meilisearch experience
|
## 🌍 Supercharge your Meilisearch experience
|
||||||
|
|
||||||
Say goodbye to server deployment and manual updates with [Meilisearch Cloud](https://www.meilisearch.com/cloud?utm_campaign=oss&utm_source=github&utm_medium=meilisearch). No credit card required.
|
Say goodbye to server deployment and manual updates with [Meilisearch Cloud](https://www.meilisearch.com/cloud?utm_campaign=oss&utm_source=github&utm_medium=meilisearch). Additional features include analytics & monitoring in many regions around the world. No credit card is required.
|
||||||
|
|
||||||
## 🧰 SDKs & integration tools
|
## 🧰 SDKs & integration tools
|
||||||
|
|
||||||
@ -83,15 +91,15 @@ Finally, for more in-depth information, refer to our articles explaining fundame
|
|||||||
|
|
||||||
## 📊 Telemetry
|
## 📊 Telemetry
|
||||||
|
|
||||||
Meilisearch collects **anonymized** data from users to help us improve our product. You can [deactivate this](https://www.meilisearch.com/docs/learn/what_is_meilisearch/telemetry?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=telemetry#how-to-disable-data-collection) whenever you want.
|
Meilisearch collects **anonymized** user data to help us improve our product. You can [deactivate this](https://www.meilisearch.com/docs/learn/what_is_meilisearch/telemetry?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=telemetry#how-to-disable-data-collection) whenever you want.
|
||||||
|
|
||||||
To request deletion of collected data, please write to us at [privacy@meilisearch.com](mailto:privacy@meilisearch.com). Don't forget to include your `Instance UID` in the message, as this helps us quickly find and delete your data.
|
To request deletion of collected data, please write to us at [privacy@meilisearch.com](mailto:privacy@meilisearch.com). Remember to include your `Instance UID` in the message, as this helps us quickly find and delete your data.
|
||||||
|
|
||||||
If you want to know more about the kind of data we collect and what we use it for, check the [telemetry section](https://www.meilisearch.com/docs/learn/what_is_meilisearch/telemetry?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=telemetry#how-to-disable-data-collection) of our documentation.
|
If you want to know more about the kind of data we collect and what we use it for, check the [telemetry section](https://www.meilisearch.com/docs/learn/what_is_meilisearch/telemetry?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=telemetry#how-to-disable-data-collection) of our documentation.
|
||||||
|
|
||||||
## 📫 Get in touch!
|
## 📫 Get in touch!
|
||||||
|
|
||||||
Meilisearch is a search engine created by [Meili](https://www.welcometothejungle.com/en/companies/meilisearch), a software development company based in France and with team members all over the world. Want to know more about us? [Check out our blog!](https://blog.meilisearch.com/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=contact)
|
Meilisearch is a search engine created by [Meili]([https://www.welcometothejungle.com/en/companies/meilisearch](https://www.meilisearch.com/careers)), a software development company headquartered in France and with team members all over the world. Want to know more about us? [Check out our blog!](https://blog.meilisearch.com/?utm_campaign=oss&utm_source=github&utm_medium=meilisearch&utm_content=contact)
|
||||||
|
|
||||||
🗞 [Subscribe to our newsletter](https://meilisearch.us2.list-manage.com/subscribe?u=27870f7b71c908a8b359599fb&id=79582d828e) if you don't want to miss any updates! We promise we won't clutter your mailbox: we only send one edition every two months.
|
🗞 [Subscribe to our newsletter](https://meilisearch.us2.list-manage.com/subscribe?u=27870f7b71c908a8b359599fb&id=79582d828e) if you don't want to miss any updates! We promise we won't clutter your mailbox: we only send one edition every two months.
|
||||||
|
|
||||||
@ -105,11 +113,11 @@ Thank you for your support!
|
|||||||
|
|
||||||
## 👩💻 Contributing
|
## 👩💻 Contributing
|
||||||
|
|
||||||
Meilisearch is, and will always be, open-source! If you want to contribute to the project, please take a look at [our contribution guidelines](CONTRIBUTING.md).
|
Meilisearch is, and will always be, open-source! If you want to contribute to the project, please look at [our contribution guidelines](CONTRIBUTING.md).
|
||||||
|
|
||||||
## 📦 Versioning
|
## 📦 Versioning
|
||||||
|
|
||||||
Meilisearch releases and their associated binaries are available [in this GitHub page](https://github.com/meilisearch/meilisearch/releases).
|
Meilisearch releases and their associated binaries are available on the project's [releases page](https://github.com/meilisearch/meilisearch/releases).
|
||||||
|
|
||||||
The binaries are versioned following [SemVer conventions](https://semver.org/). To know more, read our [versioning policy](https://github.com/meilisearch/engine-team/blob/main/resources/versioning-policy.md).
|
The binaries are versioned following [SemVer conventions](https://semver.org/). To know more, read our [versioning policy](https://github.com/meilisearch/engine-team/blob/main/resources/versioning-policy.md).
|
||||||
|
|
||||||
|
@ -1403,6 +1403,104 @@
|
|||||||
"title": "Number of tasks by indexes",
|
"title": "Number of tasks by indexes",
|
||||||
"type": "timeseries"
|
"type": "timeseries"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "${DS_PROMETHEUS}"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "palette-classic"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"axisBorderShow": false,
|
||||||
|
"axisCenteredZero": false,
|
||||||
|
"axisColorMode": "text",
|
||||||
|
"axisLabel": "",
|
||||||
|
"axisPlacement": "auto",
|
||||||
|
"barAlignment": 0,
|
||||||
|
"drawStyle": "line",
|
||||||
|
"fillOpacity": 15,
|
||||||
|
"gradientMode": "none",
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"insertNulls": false,
|
||||||
|
"lineInterpolation": "linear",
|
||||||
|
"lineWidth": 1,
|
||||||
|
"pointSize": 5,
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
},
|
||||||
|
"showPoints": "never",
|
||||||
|
"spanNulls": false,
|
||||||
|
"stacking": {
|
||||||
|
"group": "A",
|
||||||
|
"mode": "none"
|
||||||
|
},
|
||||||
|
"thresholdsStyle": {
|
||||||
|
"mode": "off"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "red",
|
||||||
|
"value": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"unit": "none"
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 11,
|
||||||
|
"w": 12,
|
||||||
|
"x": 12,
|
||||||
|
"y": 51
|
||||||
|
},
|
||||||
|
"id": 29,
|
||||||
|
"interval": "5s",
|
||||||
|
"options": {
|
||||||
|
"legend": {
|
||||||
|
"calcs": [],
|
||||||
|
"displayMode": "list",
|
||||||
|
"placement": "right",
|
||||||
|
"showLegend": true
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"mode": "single",
|
||||||
|
"sort": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pluginVersion": "8.1.4",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "${DS_PROMETHEUS}"
|
||||||
|
},
|
||||||
|
"editorMode": "builder",
|
||||||
|
"exemplar": true,
|
||||||
|
"expr": "meilisearch_task_queue_latency_seconds{instance=\"$instance\", job=\"$job\"}",
|
||||||
|
"interval": "",
|
||||||
|
"legendFormat": "{{value}} ",
|
||||||
|
"range": true,
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Task queue latency",
|
||||||
|
"type": "timeseries"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"collapsed": true,
|
"collapsed": true,
|
||||||
"datasource": {
|
"datasource": {
|
||||||
|
File diff suppressed because it is too large
Load Diff
11
bors.toml
11
bors.toml
@ -1,11 +0,0 @@
|
|||||||
status = [
|
|
||||||
'Tests on ubuntu-18.04',
|
|
||||||
'Tests on macos-12',
|
|
||||||
'Tests on windows-2022',
|
|
||||||
'Run Clippy',
|
|
||||||
'Run Rustfmt',
|
|
||||||
'Run tests in debug',
|
|
||||||
]
|
|
||||||
pr_status = ['Milestone Check']
|
|
||||||
# 3 hours timeout
|
|
||||||
timeout-sec = 10800
|
|
@ -11,24 +11,27 @@ edition.workspace = true
|
|||||||
license.workspace = true
|
license.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1.0.79"
|
anyhow = "1.0.95"
|
||||||
csv = "1.3.0"
|
bumpalo = "3.16.0"
|
||||||
|
csv = "1.3.1"
|
||||||
|
memmap2 = "0.9.5"
|
||||||
milli = { path = "../milli" }
|
milli = { path = "../milli" }
|
||||||
mimalloc = { version = "0.1.39", default-features = false }
|
mimalloc = { version = "0.1.43", default-features = false }
|
||||||
serde_json = { version = "1.0.111", features = ["preserve_order"] }
|
serde_json = { version = "1.0.135", features = ["preserve_order"] }
|
||||||
|
tempfile = "3.15.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
criterion = { version = "0.5.1", features = ["html_reports"] }
|
criterion = { version = "0.5.1", features = ["html_reports"] }
|
||||||
rand = "0.8.5"
|
rand = "0.8.5"
|
||||||
rand_chacha = "0.3.1"
|
rand_chacha = "0.3.1"
|
||||||
roaring = "0.10.2"
|
roaring = "0.10.10"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
anyhow = "1.0.79"
|
anyhow = "1.0.95"
|
||||||
bytes = "1.5.0"
|
bytes = "1.9.0"
|
||||||
convert_case = "0.6.0"
|
convert_case = "0.6.0"
|
||||||
flate2 = "1.0.28"
|
flate2 = "1.0.35"
|
||||||
reqwest = { version = "0.11.23", features = ["blocking", "rustls-tls"], default-features = false }
|
reqwest = { version = "0.12.12", features = ["blocking", "rustls-tls"], default-features = false }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["milli/all-tokenizations"]
|
default = ["milli/all-tokenizations"]
|
2031
crates/benchmarks/benches/indexing.rs
Normal file
2031
crates/benchmarks/benches/indexing.rs
Normal file
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,10 @@ mod datasets_paths;
|
|||||||
mod utils;
|
mod utils;
|
||||||
|
|
||||||
use criterion::{criterion_group, criterion_main};
|
use criterion::{criterion_group, criterion_main};
|
||||||
use milli::update::Settings;
|
use milli::{update::Settings, FilterableAttributesRule};
|
||||||
use utils::Conf;
|
use utils::Conf;
|
||||||
|
|
||||||
|
#[cfg(not(windows))]
|
||||||
#[global_allocator]
|
#[global_allocator]
|
||||||
static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc;
|
static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc;
|
||||||
|
|
||||||
@ -20,8 +21,10 @@ fn base_conf(builder: &mut Settings) {
|
|||||||
["name", "alternatenames", "elevation"].iter().map(|s| s.to_string()).collect();
|
["name", "alternatenames", "elevation"].iter().map(|s| s.to_string()).collect();
|
||||||
builder.set_searchable_fields(searchable_fields);
|
builder.set_searchable_fields(searchable_fields);
|
||||||
|
|
||||||
let filterable_fields =
|
let filterable_fields = ["_geo", "population", "elevation"]
|
||||||
["_geo", "population", "elevation"].iter().map(|s| s.to_string()).collect();
|
.iter()
|
||||||
|
.map(|s| FilterableAttributesRule::Field(s.to_string()))
|
||||||
|
.collect();
|
||||||
builder.set_filterable_fields(filterable_fields);
|
builder.set_filterable_fields(filterable_fields);
|
||||||
|
|
||||||
let sortable_fields =
|
let sortable_fields =
|
@ -2,9 +2,10 @@ mod datasets_paths;
|
|||||||
mod utils;
|
mod utils;
|
||||||
|
|
||||||
use criterion::{criterion_group, criterion_main};
|
use criterion::{criterion_group, criterion_main};
|
||||||
use milli::update::Settings;
|
use milli::{update::Settings, FilterableAttributesRule};
|
||||||
use utils::Conf;
|
use utils::Conf;
|
||||||
|
|
||||||
|
#[cfg(not(windows))]
|
||||||
#[global_allocator]
|
#[global_allocator]
|
||||||
static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc;
|
static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc;
|
||||||
|
|
||||||
@ -21,7 +22,7 @@ fn base_conf(builder: &mut Settings) {
|
|||||||
|
|
||||||
let faceted_fields = ["released-timestamp", "duration-float", "genre", "country", "artist"]
|
let faceted_fields = ["released-timestamp", "duration-float", "genre", "country", "artist"]
|
||||||
.iter()
|
.iter()
|
||||||
.map(|s| s.to_string())
|
.map(|s| FilterableAttributesRule::Field(s.to_string()))
|
||||||
.collect();
|
.collect();
|
||||||
builder.set_filterable_fields(faceted_fields);
|
builder.set_filterable_fields(faceted_fields);
|
||||||
}
|
}
|
@ -5,6 +5,7 @@ use criterion::{criterion_group, criterion_main};
|
|||||||
use milli::update::Settings;
|
use milli::update::Settings;
|
||||||
use utils::Conf;
|
use utils::Conf;
|
||||||
|
|
||||||
|
#[cfg(not(windows))]
|
||||||
#[global_allocator]
|
#[global_allocator]
|
||||||
static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc;
|
static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc;
|
||||||
|
|
@ -1,17 +1,19 @@
|
|||||||
#![allow(dead_code)]
|
#![allow(dead_code)]
|
||||||
|
|
||||||
use std::fs::{create_dir_all, remove_dir_all, File};
|
use std::fs::{create_dir_all, remove_dir_all, File};
|
||||||
use std::io::{self, BufRead, BufReader, Cursor, Read, Seek};
|
use std::io::{self, BufReader, BufWriter, Read};
|
||||||
use std::num::ParseFloatError;
|
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::str::FromStr;
|
use std::str::FromStr as _;
|
||||||
|
|
||||||
|
use anyhow::Context;
|
||||||
|
use bumpalo::Bump;
|
||||||
use criterion::BenchmarkId;
|
use criterion::BenchmarkId;
|
||||||
use milli::documents::{DocumentsBatchBuilder, DocumentsBatchReader};
|
use memmap2::Mmap;
|
||||||
use milli::heed::EnvOpenOptions;
|
use milli::heed::EnvOpenOptions;
|
||||||
use milli::update::{
|
use milli::progress::Progress;
|
||||||
IndexDocuments, IndexDocumentsConfig, IndexDocumentsMethod, IndexerConfig, Settings,
|
use milli::update::new::indexer;
|
||||||
};
|
use milli::update::{IndexerConfig, Settings};
|
||||||
|
use milli::vector::EmbeddingConfigs;
|
||||||
use milli::{Criterion, Filter, Index, Object, TermsMatchingStrategy};
|
use milli::{Criterion, Filter, Index, Object, TermsMatchingStrategy};
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
@ -63,10 +65,11 @@ pub fn base_setup(conf: &Conf) -> Index {
|
|||||||
}
|
}
|
||||||
create_dir_all(conf.database_name).unwrap();
|
create_dir_all(conf.database_name).unwrap();
|
||||||
|
|
||||||
let mut options = EnvOpenOptions::new();
|
let options = EnvOpenOptions::new();
|
||||||
|
let mut options = options.read_txn_without_tls();
|
||||||
options.map_size(100 * 1024 * 1024 * 1024); // 100 GB
|
options.map_size(100 * 1024 * 1024 * 1024); // 100 GB
|
||||||
options.max_readers(10);
|
options.max_readers(100);
|
||||||
let index = Index::new(options, conf.database_name).unwrap();
|
let index = Index::new(options, conf.database_name, true).unwrap();
|
||||||
|
|
||||||
let config = IndexerConfig::default();
|
let config = IndexerConfig::default();
|
||||||
let mut wtxn = index.write_txn().unwrap();
|
let mut wtxn = index.write_txn().unwrap();
|
||||||
@ -92,18 +95,44 @@ pub fn base_setup(conf: &Conf) -> Index {
|
|||||||
|
|
||||||
let config = IndexerConfig::default();
|
let config = IndexerConfig::default();
|
||||||
let mut wtxn = index.write_txn().unwrap();
|
let mut wtxn = index.write_txn().unwrap();
|
||||||
let indexing_config = IndexDocumentsConfig {
|
let rtxn = index.read_txn().unwrap();
|
||||||
autogenerate_docids: conf.primary_key.is_none(),
|
let db_fields_ids_map = index.fields_ids_map(&rtxn).unwrap();
|
||||||
update_method: IndexDocumentsMethod::ReplaceDocuments,
|
let mut new_fields_ids_map = db_fields_ids_map.clone();
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let builder =
|
|
||||||
IndexDocuments::new(&mut wtxn, &index, &config, indexing_config, |_| (), || false).unwrap();
|
|
||||||
let documents = documents_from(conf.dataset, conf.dataset_format);
|
let documents = documents_from(conf.dataset, conf.dataset_format);
|
||||||
let (builder, user_error) = builder.add_documents(documents).unwrap();
|
let mut indexer = indexer::DocumentOperation::new();
|
||||||
user_error.unwrap();
|
indexer.replace_documents(&documents).unwrap();
|
||||||
builder.execute().unwrap();
|
|
||||||
|
let indexer_alloc = Bump::new();
|
||||||
|
let (document_changes, _operation_stats, primary_key) = indexer
|
||||||
|
.into_changes(
|
||||||
|
&indexer_alloc,
|
||||||
|
&index,
|
||||||
|
&rtxn,
|
||||||
|
None,
|
||||||
|
&mut new_fields_ids_map,
|
||||||
|
&|| false,
|
||||||
|
Progress::default(),
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
indexer::index(
|
||||||
|
&mut wtxn,
|
||||||
|
&index,
|
||||||
|
&milli::ThreadPoolNoAbortBuilder::new().build().unwrap(),
|
||||||
|
config.grenad_parameters(),
|
||||||
|
&db_fields_ids_map,
|
||||||
|
new_fields_ids_map,
|
||||||
|
primary_key,
|
||||||
|
&document_changes,
|
||||||
|
EmbeddingConfigs::default(),
|
||||||
|
&|| false,
|
||||||
|
&Progress::default(),
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
wtxn.commit().unwrap();
|
wtxn.commit().unwrap();
|
||||||
|
drop(rtxn);
|
||||||
|
|
||||||
index
|
index
|
||||||
}
|
}
|
||||||
@ -140,49 +169,96 @@ pub fn run_benches(c: &mut criterion::Criterion, confs: &[Conf]) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn documents_from(filename: &str, filetype: &str) -> DocumentsBatchReader<impl BufRead + Seek> {
|
pub fn documents_from(filename: &str, filetype: &str) -> Mmap {
|
||||||
let reader = File::open(filename)
|
let file = File::open(filename)
|
||||||
.unwrap_or_else(|_| panic!("could not find the dataset in: {}", filename));
|
.unwrap_or_else(|_| panic!("could not find the dataset in: {filename}"));
|
||||||
let reader = BufReader::new(reader);
|
match filetype {
|
||||||
let documents = match filetype {
|
"csv" => documents_from_csv(file).unwrap(),
|
||||||
"csv" => documents_from_csv(reader).unwrap(),
|
"json" => documents_from_json(file).unwrap(),
|
||||||
"json" => documents_from_json(reader).unwrap(),
|
"jsonl" => documents_from_jsonl(file).unwrap(),
|
||||||
"jsonl" => documents_from_jsonl(reader).unwrap(),
|
otherwise => panic!("invalid update format {otherwise:?}"),
|
||||||
otherwise => panic!("invalid update format {:?}", otherwise),
|
}
|
||||||
};
|
|
||||||
DocumentsBatchReader::from_reader(Cursor::new(documents)).unwrap()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn documents_from_jsonl(reader: impl BufRead) -> anyhow::Result<Vec<u8>> {
|
fn documents_from_jsonl(file: File) -> anyhow::Result<Mmap> {
|
||||||
let mut documents = DocumentsBatchBuilder::new(Vec::new());
|
unsafe { Mmap::map(&file).map_err(Into::into) }
|
||||||
|
}
|
||||||
|
|
||||||
for result in serde_json::Deserializer::from_reader(reader).into_iter::<Object>() {
|
fn documents_from_json(file: File) -> anyhow::Result<Mmap> {
|
||||||
let object = result?;
|
let reader = BufReader::new(file);
|
||||||
documents.append_json_object(&object)?;
|
let documents: Vec<milli::Object> = serde_json::from_reader(reader)?;
|
||||||
|
let mut output = tempfile::tempfile().map(BufWriter::new)?;
|
||||||
|
|
||||||
|
for document in documents {
|
||||||
|
serde_json::to_writer(&mut output, &document)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
documents.into_inner().map_err(Into::into)
|
let file = output.into_inner()?;
|
||||||
|
unsafe { Mmap::map(&file).map_err(Into::into) }
|
||||||
}
|
}
|
||||||
|
|
||||||
fn documents_from_json(reader: impl BufRead) -> anyhow::Result<Vec<u8>> {
|
fn documents_from_csv(file: File) -> anyhow::Result<Mmap> {
|
||||||
let mut documents = DocumentsBatchBuilder::new(Vec::new());
|
let output = tempfile::tempfile()?;
|
||||||
|
let mut output = BufWriter::new(output);
|
||||||
|
let mut reader = csv::ReaderBuilder::new().from_reader(file);
|
||||||
|
|
||||||
documents.append_json_array(reader)?;
|
let headers = reader.headers().context("while retrieving headers")?.clone();
|
||||||
|
let typed_fields: Vec<_> = headers.iter().map(parse_csv_header).collect();
|
||||||
|
let mut object: serde_json::Map<_, _> =
|
||||||
|
typed_fields.iter().map(|(k, _)| (k.to_string(), Value::Null)).collect();
|
||||||
|
|
||||||
documents.into_inner().map_err(Into::into)
|
let mut line = 0;
|
||||||
}
|
let mut record = csv::StringRecord::new();
|
||||||
|
while reader.read_record(&mut record).context("while reading a record")? {
|
||||||
|
// We increment here and not at the end of the loop
|
||||||
|
// to take the header offset into account.
|
||||||
|
line += 1;
|
||||||
|
|
||||||
fn documents_from_csv(reader: impl BufRead) -> anyhow::Result<Vec<u8>> {
|
// Reset the document values
|
||||||
let csv = csv::Reader::from_reader(reader);
|
object.iter_mut().for_each(|(_, v)| *v = Value::Null);
|
||||||
|
|
||||||
let mut documents = DocumentsBatchBuilder::new(Vec::new());
|
for (i, (name, atype)) in typed_fields.iter().enumerate() {
|
||||||
documents.append_csv(csv)?;
|
let value = &record[i];
|
||||||
|
let trimmed_value = value.trim();
|
||||||
|
let value = match atype {
|
||||||
|
AllowedType::Number if trimmed_value.is_empty() => Value::Null,
|
||||||
|
AllowedType::Number => {
|
||||||
|
match trimmed_value.parse::<i64>() {
|
||||||
|
Ok(integer) => Value::from(integer),
|
||||||
|
Err(_) => match trimmed_value.parse::<f64>() {
|
||||||
|
Ok(float) => Value::from(float),
|
||||||
|
Err(error) => {
|
||||||
|
anyhow::bail!("document format error on line {line}: {error}. For value: {value}")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AllowedType::Boolean if trimmed_value.is_empty() => Value::Null,
|
||||||
|
AllowedType::Boolean => match trimmed_value.parse::<bool>() {
|
||||||
|
Ok(bool) => Value::from(bool),
|
||||||
|
Err(error) => {
|
||||||
|
anyhow::bail!(
|
||||||
|
"document format error on line {line}: {error}. For value: {value}"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
AllowedType::String if value.is_empty() => Value::Null,
|
||||||
|
AllowedType::String => Value::from(value),
|
||||||
|
};
|
||||||
|
|
||||||
documents.into_inner().map_err(Into::into)
|
*object.get_mut(name).expect("encountered an unknown field") = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
serde_json::to_writer(&mut output, &object).context("while writing to disk")?;
|
||||||
|
}
|
||||||
|
|
||||||
|
let output = output.into_inner()?;
|
||||||
|
unsafe { Mmap::map(&output).map_err(Into::into) }
|
||||||
}
|
}
|
||||||
|
|
||||||
enum AllowedType {
|
enum AllowedType {
|
||||||
String,
|
String,
|
||||||
|
Boolean,
|
||||||
Number,
|
Number,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,8 +267,9 @@ fn parse_csv_header(header: &str) -> (String, AllowedType) {
|
|||||||
match header.rsplit_once(':') {
|
match header.rsplit_once(':') {
|
||||||
Some((field_name, field_type)) => match field_type {
|
Some((field_name, field_type)) => match field_type {
|
||||||
"string" => (field_name.to_string(), AllowedType::String),
|
"string" => (field_name.to_string(), AllowedType::String),
|
||||||
|
"boolean" => (field_name.to_string(), AllowedType::Boolean),
|
||||||
"number" => (field_name.to_string(), AllowedType::Number),
|
"number" => (field_name.to_string(), AllowedType::Number),
|
||||||
// we may return an error in this case.
|
// if the pattern isn't recognized, we keep the whole field.
|
||||||
_otherwise => (header.to_string(), AllowedType::String),
|
_otherwise => (header.to_string(), AllowedType::String),
|
||||||
},
|
},
|
||||||
None => (header.to_string(), AllowedType::String),
|
None => (header.to_string(), AllowedType::String),
|
||||||
@ -230,10 +307,13 @@ impl<R: Read> Iterator for CSVDocumentDeserializer<R> {
|
|||||||
for ((field_name, field_type), value) in
|
for ((field_name, field_type), value) in
|
||||||
self.headers.iter().zip(csv_document.into_iter())
|
self.headers.iter().zip(csv_document.into_iter())
|
||||||
{
|
{
|
||||||
let parsed_value: Result<Value, ParseFloatError> = match field_type {
|
let parsed_value: anyhow::Result<Value> = match field_type {
|
||||||
AllowedType::Number => {
|
AllowedType::Number => {
|
||||||
value.parse::<f64>().map(Value::from).map_err(Into::into)
|
value.parse::<f64>().map(Value::from).map_err(Into::into)
|
||||||
}
|
}
|
||||||
|
AllowedType::Boolean => {
|
||||||
|
value.parse::<bool>().map(Value::from).map_err(Into::into)
|
||||||
|
}
|
||||||
AllowedType::String => Ok(Value::String(value.to_string())),
|
AllowedType::String => Ok(Value::String(value.to_string())),
|
||||||
};
|
};
|
||||||
|
|
@ -11,8 +11,8 @@ license.workspace = true
|
|||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
time = { version = "0.3.34", features = ["parsing"] }
|
time = { version = "0.3.37", features = ["parsing"] }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
anyhow = "1.0.80"
|
anyhow = "1.0.95"
|
||||||
vergen-git2 = "1.0.0-beta.2"
|
vergen-git2 = "1.0.2"
|
@ -5,6 +5,13 @@ fn main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn emit_git_variables() -> anyhow::Result<()> {
|
fn emit_git_variables() -> anyhow::Result<()> {
|
||||||
|
println!("cargo::rerun-if-env-changed=MEILI_NO_VERGEN");
|
||||||
|
|
||||||
|
let has_vergen =
|
||||||
|
!matches!(std::env::var_os("MEILI_NO_VERGEN"), Some(x) if x != "false" && x != "0");
|
||||||
|
|
||||||
|
anyhow::ensure!(has_vergen, "disabled via `MEILI_NO_VERGEN`");
|
||||||
|
|
||||||
// Note: any code that needs VERGEN_ environment variables should take care to define them manually in the Dockerfile and pass them
|
// Note: any code that needs VERGEN_ environment variables should take care to define them manually in the Dockerfile and pass them
|
||||||
// in the corresponding GitHub workflow (publish_docker.yml).
|
// in the corresponding GitHub workflow (publish_docker.yml).
|
||||||
// This is due to the Dockerfile building the binary outside of the git directory.
|
// This is due to the Dockerfile building the binary outside of the git directory.
|
34
crates/dump/Cargo.toml
Normal file
34
crates/dump/Cargo.toml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[package]
|
||||||
|
name = "dump"
|
||||||
|
publish = false
|
||||||
|
|
||||||
|
version.workspace = true
|
||||||
|
authors.workspace = true
|
||||||
|
description.workspace = true
|
||||||
|
edition.workspace = true
|
||||||
|
homepage.workspace = true
|
||||||
|
readme.workspace = true
|
||||||
|
license.workspace = true
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
anyhow = "1.0.95"
|
||||||
|
flate2 = "1.0.35"
|
||||||
|
http = "1.2.0"
|
||||||
|
meilisearch-types = { path = "../meilisearch-types" }
|
||||||
|
once_cell = "1.20.2"
|
||||||
|
regex = "1.11.1"
|
||||||
|
roaring = { version = "0.10.10", features = ["serde"] }
|
||||||
|
serde = { version = "1.0.217", features = ["derive"] }
|
||||||
|
serde_json = { version = "1.0.135", features = ["preserve_order"] }
|
||||||
|
tar = "0.4.43"
|
||||||
|
tempfile = "3.15.0"
|
||||||
|
thiserror = "2.0.9"
|
||||||
|
time = { version = "0.3.37", features = ["serde-well-known", "formatting", "parsing", "macros"] }
|
||||||
|
tracing = "0.1.41"
|
||||||
|
uuid = { version = "1.11.0", features = ["serde", "v4"] }
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
big_s = "1.0.2"
|
||||||
|
maplit = "1.0.2"
|
||||||
|
meili-snap = { path = "../meili-snap" }
|
||||||
|
meilisearch-types = { path = "../meilisearch-types" }
|
@ -10,8 +10,10 @@ dump
|
|||||||
├── instance-uid.uuid
|
├── instance-uid.uuid
|
||||||
├── keys.jsonl
|
├── keys.jsonl
|
||||||
├── metadata.json
|
├── metadata.json
|
||||||
└── tasks
|
├── tasks
|
||||||
├── update_files
|
│ ├── update_files
|
||||||
│ └── [task_id].jsonl
|
│ │ └── [task_id].jsonl
|
||||||
|
│ └── queue.jsonl
|
||||||
|
└── batches
|
||||||
└── queue.jsonl
|
└── queue.jsonl
|
||||||
```
|
```
|
@ -1,6 +1,7 @@
|
|||||||
#![allow(clippy::type_complexity)]
|
#![allow(clippy::type_complexity)]
|
||||||
#![allow(clippy::wrong_self_convention)]
|
#![allow(clippy::wrong_self_convention)]
|
||||||
|
|
||||||
|
use meilisearch_types::batches::BatchId;
|
||||||
use meilisearch_types::error::ResponseError;
|
use meilisearch_types::error::ResponseError;
|
||||||
use meilisearch_types::keys::Key;
|
use meilisearch_types::keys::Key;
|
||||||
use meilisearch_types::milli::update::IndexDocumentsMethod;
|
use meilisearch_types::milli::update::IndexDocumentsMethod;
|
||||||
@ -57,6 +58,9 @@ pub enum Version {
|
|||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub struct TaskDump {
|
pub struct TaskDump {
|
||||||
pub uid: TaskId,
|
pub uid: TaskId,
|
||||||
|
// The batch ID were introduced in v1.12, everything prior to this version will be `None`.
|
||||||
|
#[serde(default)]
|
||||||
|
pub batch_uid: Option<BatchId>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub index_uid: Option<String>,
|
pub index_uid: Option<String>,
|
||||||
pub status: Status,
|
pub status: Status,
|
||||||
@ -104,6 +108,11 @@ pub enum KindDump {
|
|||||||
DocumentDeletionByFilter {
|
DocumentDeletionByFilter {
|
||||||
filter: serde_json::Value,
|
filter: serde_json::Value,
|
||||||
},
|
},
|
||||||
|
DocumentEdition {
|
||||||
|
filter: Option<serde_json::Value>,
|
||||||
|
context: Option<serde_json::Map<String, serde_json::Value>>,
|
||||||
|
function: String,
|
||||||
|
},
|
||||||
Settings {
|
Settings {
|
||||||
settings: Box<meilisearch_types::settings::Settings<Unchecked>>,
|
settings: Box<meilisearch_types::settings::Settings<Unchecked>>,
|
||||||
is_deletion: bool,
|
is_deletion: bool,
|
||||||
@ -132,12 +141,16 @@ pub enum KindDump {
|
|||||||
instance_uid: Option<InstanceUid>,
|
instance_uid: Option<InstanceUid>,
|
||||||
},
|
},
|
||||||
SnapshotCreation,
|
SnapshotCreation,
|
||||||
|
UpgradeDatabase {
|
||||||
|
from: (u32, u32, u32),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<Task> for TaskDump {
|
impl From<Task> for TaskDump {
|
||||||
fn from(task: Task) -> Self {
|
fn from(task: Task) -> Self {
|
||||||
TaskDump {
|
TaskDump {
|
||||||
uid: task.uid,
|
uid: task.uid,
|
||||||
|
batch_uid: task.batch_uid,
|
||||||
index_uid: task.index_uid().map(|uid| uid.to_string()),
|
index_uid: task.index_uid().map(|uid| uid.to_string()),
|
||||||
status: task.status,
|
status: task.status,
|
||||||
kind: task.kind.into(),
|
kind: task.kind.into(),
|
||||||
@ -172,6 +185,9 @@ impl From<KindWithContent> for KindDump {
|
|||||||
KindWithContent::DocumentDeletionByFilter { filter_expr, .. } => {
|
KindWithContent::DocumentDeletionByFilter { filter_expr, .. } => {
|
||||||
KindDump::DocumentDeletionByFilter { filter: filter_expr }
|
KindDump::DocumentDeletionByFilter { filter: filter_expr }
|
||||||
}
|
}
|
||||||
|
KindWithContent::DocumentEdition { filter_expr, context, function, .. } => {
|
||||||
|
KindDump::DocumentEdition { filter: filter_expr, context, function }
|
||||||
|
}
|
||||||
KindWithContent::DocumentClear { .. } => KindDump::DocumentClear,
|
KindWithContent::DocumentClear { .. } => KindDump::DocumentClear,
|
||||||
KindWithContent::SettingsUpdate {
|
KindWithContent::SettingsUpdate {
|
||||||
new_settings,
|
new_settings,
|
||||||
@ -197,6 +213,9 @@ impl From<KindWithContent> for KindDump {
|
|||||||
KindDump::DumpCreation { keys, instance_uid }
|
KindDump::DumpCreation { keys, instance_uid }
|
||||||
}
|
}
|
||||||
KindWithContent::SnapshotCreation => KindDump::SnapshotCreation,
|
KindWithContent::SnapshotCreation => KindDump::SnapshotCreation,
|
||||||
|
KindWithContent::UpgradeDatabase { from: version } => {
|
||||||
|
KindDump::UpgradeDatabase { from: version }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -209,14 +228,16 @@ pub(crate) mod test {
|
|||||||
|
|
||||||
use big_s::S;
|
use big_s::S;
|
||||||
use maplit::{btreemap, btreeset};
|
use maplit::{btreemap, btreeset};
|
||||||
|
use meilisearch_types::batches::{Batch, BatchEnqueuedAt, BatchStats};
|
||||||
use meilisearch_types::facet_values_sort::FacetValuesSort;
|
use meilisearch_types::facet_values_sort::FacetValuesSort;
|
||||||
use meilisearch_types::features::RuntimeTogglableFeatures;
|
use meilisearch_types::features::{Network, Remote, RuntimeTogglableFeatures};
|
||||||
use meilisearch_types::index_uid_pattern::IndexUidPattern;
|
use meilisearch_types::index_uid_pattern::IndexUidPattern;
|
||||||
use meilisearch_types::keys::{Action, Key};
|
use meilisearch_types::keys::{Action, Key};
|
||||||
use meilisearch_types::milli;
|
|
||||||
use meilisearch_types::milli::update::Setting;
|
use meilisearch_types::milli::update::Setting;
|
||||||
|
use meilisearch_types::milli::{self, FilterableAttributesRule};
|
||||||
use meilisearch_types::settings::{Checked, FacetingSettings, Settings};
|
use meilisearch_types::settings::{Checked, FacetingSettings, Settings};
|
||||||
use meilisearch_types::tasks::{Details, Status};
|
use meilisearch_types::task_view::DetailsView;
|
||||||
|
use meilisearch_types::tasks::{Details, Kind, Status};
|
||||||
use serde_json::{json, Map, Value};
|
use serde_json::{json, Map, Value};
|
||||||
use time::macros::datetime;
|
use time::macros::datetime;
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
@ -258,7 +279,10 @@ pub(crate) mod test {
|
|||||||
let settings = Settings {
|
let settings = Settings {
|
||||||
displayed_attributes: Setting::Set(vec![S("race"), S("name")]).into(),
|
displayed_attributes: Setting::Set(vec![S("race"), S("name")]).into(),
|
||||||
searchable_attributes: Setting::Set(vec![S("name"), S("race")]).into(),
|
searchable_attributes: Setting::Set(vec![S("name"), S("race")]).into(),
|
||||||
filterable_attributes: Setting::Set(btreeset! { S("race"), S("age") }),
|
filterable_attributes: Setting::Set(vec![
|
||||||
|
FilterableAttributesRule::Field(S("race")),
|
||||||
|
FilterableAttributesRule::Field(S("age")),
|
||||||
|
]),
|
||||||
sortable_attributes: Setting::Set(btreeset! { S("age") }),
|
sortable_attributes: Setting::Set(btreeset! { S("age") }),
|
||||||
ranking_rules: Setting::NotSet,
|
ranking_rules: Setting::NotSet,
|
||||||
stop_words: Setting::NotSet,
|
stop_words: Setting::NotSet,
|
||||||
@ -278,16 +302,47 @@ pub(crate) mod test {
|
|||||||
pagination: Setting::NotSet,
|
pagination: Setting::NotSet,
|
||||||
embedders: Setting::NotSet,
|
embedders: Setting::NotSet,
|
||||||
search_cutoff_ms: Setting::NotSet,
|
search_cutoff_ms: Setting::NotSet,
|
||||||
|
localized_attributes: Setting::NotSet,
|
||||||
|
facet_search: Setting::NotSet,
|
||||||
|
prefix_search: Setting::NotSet,
|
||||||
_kind: std::marker::PhantomData,
|
_kind: std::marker::PhantomData,
|
||||||
};
|
};
|
||||||
settings.check()
|
settings.check()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn create_test_batches() -> Vec<Batch> {
|
||||||
|
vec![Batch {
|
||||||
|
uid: 0,
|
||||||
|
details: DetailsView {
|
||||||
|
received_documents: Some(12),
|
||||||
|
indexed_documents: Some(Some(10)),
|
||||||
|
..DetailsView::default()
|
||||||
|
},
|
||||||
|
progress: None,
|
||||||
|
stats: BatchStats {
|
||||||
|
total_nb_tasks: 1,
|
||||||
|
status: maplit::btreemap! { Status::Succeeded => 1 },
|
||||||
|
types: maplit::btreemap! { Kind::DocumentAdditionOrUpdate => 1 },
|
||||||
|
index_uids: maplit::btreemap! { "doggo".to_string() => 1 },
|
||||||
|
progress_trace: Default::default(),
|
||||||
|
write_channel_congestion: None,
|
||||||
|
internal_database_sizes: Default::default(),
|
||||||
|
},
|
||||||
|
enqueued_at: Some(BatchEnqueuedAt {
|
||||||
|
earliest: datetime!(2022-11-11 0:00 UTC),
|
||||||
|
oldest: datetime!(2022-11-11 0:00 UTC),
|
||||||
|
}),
|
||||||
|
started_at: datetime!(2022-11-20 0:00 UTC),
|
||||||
|
finished_at: Some(datetime!(2022-11-21 0:00 UTC)),
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
pub fn create_test_tasks() -> Vec<(TaskDump, Option<Vec<Document>>)> {
|
pub fn create_test_tasks() -> Vec<(TaskDump, Option<Vec<Document>>)> {
|
||||||
vec![
|
vec![
|
||||||
(
|
(
|
||||||
TaskDump {
|
TaskDump {
|
||||||
uid: 0,
|
uid: 0,
|
||||||
|
batch_uid: Some(0),
|
||||||
index_uid: Some(S("doggo")),
|
index_uid: Some(S("doggo")),
|
||||||
status: Status::Succeeded,
|
status: Status::Succeeded,
|
||||||
kind: KindDump::DocumentImport {
|
kind: KindDump::DocumentImport {
|
||||||
@ -311,6 +366,7 @@ pub(crate) mod test {
|
|||||||
(
|
(
|
||||||
TaskDump {
|
TaskDump {
|
||||||
uid: 1,
|
uid: 1,
|
||||||
|
batch_uid: None,
|
||||||
index_uid: Some(S("doggo")),
|
index_uid: Some(S("doggo")),
|
||||||
status: Status::Enqueued,
|
status: Status::Enqueued,
|
||||||
kind: KindDump::DocumentImport {
|
kind: KindDump::DocumentImport {
|
||||||
@ -337,6 +393,7 @@ pub(crate) mod test {
|
|||||||
(
|
(
|
||||||
TaskDump {
|
TaskDump {
|
||||||
uid: 5,
|
uid: 5,
|
||||||
|
batch_uid: None,
|
||||||
index_uid: Some(S("catto")),
|
index_uid: Some(S("catto")),
|
||||||
status: Status::Enqueued,
|
status: Status::Enqueued,
|
||||||
kind: KindDump::IndexDeletion,
|
kind: KindDump::IndexDeletion,
|
||||||
@ -402,6 +459,15 @@ pub(crate) mod test {
|
|||||||
index.flush().unwrap();
|
index.flush().unwrap();
|
||||||
index.settings(&settings).unwrap();
|
index.settings(&settings).unwrap();
|
||||||
|
|
||||||
|
// ========== pushing the batch queue
|
||||||
|
let batches = create_test_batches();
|
||||||
|
|
||||||
|
let mut batch_queue = dump.create_batches_queue().unwrap();
|
||||||
|
for batch in &batches {
|
||||||
|
batch_queue.push_batch(batch).unwrap();
|
||||||
|
}
|
||||||
|
batch_queue.flush().unwrap();
|
||||||
|
|
||||||
// ========== pushing the task queue
|
// ========== pushing the task queue
|
||||||
let tasks = create_test_tasks();
|
let tasks = create_test_tasks();
|
||||||
|
|
||||||
@ -430,6 +496,10 @@ pub(crate) mod test {
|
|||||||
|
|
||||||
dump.create_experimental_features(features).unwrap();
|
dump.create_experimental_features(features).unwrap();
|
||||||
|
|
||||||
|
// ========== network
|
||||||
|
let network = create_test_network();
|
||||||
|
dump.create_network(network).unwrap();
|
||||||
|
|
||||||
// create the dump
|
// create the dump
|
||||||
let mut file = tempfile::tempfile().unwrap();
|
let mut file = tempfile::tempfile().unwrap();
|
||||||
dump.persist_to(&mut file).unwrap();
|
dump.persist_to(&mut file).unwrap();
|
||||||
@ -439,7 +509,14 @@ pub(crate) mod test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn create_test_features() -> RuntimeTogglableFeatures {
|
fn create_test_features() -> RuntimeTogglableFeatures {
|
||||||
RuntimeTogglableFeatures { vector_store: true, ..Default::default() }
|
RuntimeTogglableFeatures::default()
|
||||||
|
}
|
||||||
|
|
||||||
|
fn create_test_network() -> Network {
|
||||||
|
Network {
|
||||||
|
local: Some("myself".to_string()),
|
||||||
|
remotes: maplit::btreemap! {"other".to_string() => Remote { url: "http://test".to_string(), search_api_key: Some("apiKey".to_string()) }},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -490,5 +567,9 @@ pub(crate) mod test {
|
|||||||
// ==== checking the features
|
// ==== checking the features
|
||||||
let expected = create_test_features();
|
let expected = create_test_features();
|
||||||
assert_eq!(dump.features().unwrap().unwrap(), expected);
|
assert_eq!(dump.features().unwrap().unwrap(), expected);
|
||||||
|
|
||||||
|
// ==== checking the network
|
||||||
|
let expected = create_test_network();
|
||||||
|
assert_eq!(&expected, dump.network().unwrap().unwrap());
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -425,7 +425,7 @@ pub(crate) mod test {
|
|||||||
let mut dump = v2::V2Reader::open(dir).unwrap().to_v3();
|
let mut dump = v2::V2Reader::open(dir).unwrap().to_v3();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2022-10-09 20:27:59.904096267 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2022-10-09 20:27:59.904096267 +00:00:00");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().collect::<Result<Vec<_>>>().unwrap();
|
@ -358,7 +358,7 @@ pub(crate) mod test {
|
|||||||
let mut dump = v3::V3Reader::open(dir).unwrap().to_v4();
|
let mut dump = v3::V3Reader::open(dir).unwrap().to_v4();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2022-10-07 11:39:03.709153554 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2022-10-07 11:39:03.709153554 +00:00:00");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().collect::<Result<Vec<_>>>().unwrap();
|
@ -394,8 +394,8 @@ pub(crate) mod test {
|
|||||||
let mut dump = v4::V4Reader::open(dir).unwrap().to_v5();
|
let mut dump = v4::V4Reader::open(dir).unwrap().to_v5();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2022-10-06 12:53:49.131989609 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2022-10-06 12:53:49.131989609 +00:00:00");
|
||||||
insta::assert_display_snapshot!(dump.instance_uid().unwrap().unwrap(), @"9e15e977-f2ae-4761-943f-1eaf75fd736d");
|
insta::assert_snapshot!(dump.instance_uid().unwrap().unwrap(), @"9e15e977-f2ae-4761-943f-1eaf75fd736d");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().collect::<Result<Vec<_>>>().unwrap();
|
@ -70,6 +70,7 @@ impl CompatV5ToV6 {
|
|||||||
|
|
||||||
let task = v6::Task {
|
let task = v6::Task {
|
||||||
uid: task_view.uid,
|
uid: task_view.uid,
|
||||||
|
batch_uid: None,
|
||||||
index_uid: task_view.index_uid,
|
index_uid: task_view.index_uid,
|
||||||
status: match task_view.status {
|
status: match task_view.status {
|
||||||
v5::Status::Enqueued => v6::Status::Enqueued,
|
v5::Status::Enqueued => v6::Status::Enqueued,
|
||||||
@ -195,6 +196,10 @@ impl CompatV5ToV6 {
|
|||||||
pub fn features(&self) -> Result<Option<v6::RuntimeTogglableFeatures>> {
|
pub fn features(&self) -> Result<Option<v6::RuntimeTogglableFeatures>> {
|
||||||
Ok(None)
|
Ok(None)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn network(&self) -> Result<Option<&v6::Network>> {
|
||||||
|
Ok(None)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub enum CompatIndexV5ToV6 {
|
pub enum CompatIndexV5ToV6 {
|
||||||
@ -317,7 +322,16 @@ impl<T> From<v5::Settings<T>> for v6::Settings<v6::Unchecked> {
|
|||||||
v6::Settings {
|
v6::Settings {
|
||||||
displayed_attributes: v6::Setting::from(settings.displayed_attributes).into(),
|
displayed_attributes: v6::Setting::from(settings.displayed_attributes).into(),
|
||||||
searchable_attributes: v6::Setting::from(settings.searchable_attributes).into(),
|
searchable_attributes: v6::Setting::from(settings.searchable_attributes).into(),
|
||||||
filterable_attributes: settings.filterable_attributes.into(),
|
filterable_attributes: match settings.filterable_attributes {
|
||||||
|
v5::settings::Setting::Set(filterable_attributes) => v6::Setting::Set(
|
||||||
|
filterable_attributes
|
||||||
|
.into_iter()
|
||||||
|
.map(v6::FilterableAttributesRule::Field)
|
||||||
|
.collect(),
|
||||||
|
),
|
||||||
|
v5::settings::Setting::Reset => v6::Setting::Reset,
|
||||||
|
v5::settings::Setting::NotSet => v6::Setting::NotSet,
|
||||||
|
},
|
||||||
sortable_attributes: settings.sortable_attributes.into(),
|
sortable_attributes: settings.sortable_attributes.into(),
|
||||||
ranking_rules: {
|
ranking_rules: {
|
||||||
match settings.ranking_rules {
|
match settings.ranking_rules {
|
||||||
@ -379,7 +393,10 @@ impl<T> From<v5::Settings<T>> for v6::Settings<v6::Unchecked> {
|
|||||||
v5::Setting::NotSet => v6::Setting::NotSet,
|
v5::Setting::NotSet => v6::Setting::NotSet,
|
||||||
},
|
},
|
||||||
embedders: v6::Setting::NotSet,
|
embedders: v6::Setting::NotSet,
|
||||||
|
localized_attributes: v6::Setting::NotSet,
|
||||||
search_cutoff_ms: v6::Setting::NotSet,
|
search_cutoff_ms: v6::Setting::NotSet,
|
||||||
|
facet_search: v6::Setting::NotSet,
|
||||||
|
prefix_search: v6::Setting::NotSet,
|
||||||
_kind: std::marker::PhantomData,
|
_kind: std::marker::PhantomData,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -442,13 +459,13 @@ pub(crate) mod test {
|
|||||||
let mut dump = v5::V5Reader::open(dir).unwrap().to_v6();
|
let mut dump = v5::V5Reader::open(dir).unwrap().to_v6();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2022-10-04 15:55:10.344982459 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2022-10-04 15:55:10.344982459 +00:00:00");
|
||||||
insta::assert_display_snapshot!(dump.instance_uid().unwrap().unwrap(), @"9e15e977-f2ae-4761-943f-1eaf75fd736d");
|
insta::assert_snapshot!(dump.instance_uid().unwrap().unwrap(), @"9e15e977-f2ae-4761-943f-1eaf75fd736d");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
||||||
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"41f91d3a94911b2735ec41b07540df5c");
|
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"4b03e23e740b27bfb9d2a1faffe512e2");
|
||||||
assert_eq!(update_files.len(), 22);
|
assert_eq!(update_files.len(), 22);
|
||||||
assert!(update_files[0].is_none()); // the dump creation
|
assert!(update_files[0].is_none()); // the dump creation
|
||||||
assert!(update_files[1].is_some()); // the enqueued document addition
|
assert!(update_files[1].is_some()); // the enqueued document addition
|
@ -23,6 +23,7 @@ mod v6;
|
|||||||
pub type Document = serde_json::Map<String, serde_json::Value>;
|
pub type Document = serde_json::Map<String, serde_json::Value>;
|
||||||
pub type UpdateFile = dyn Iterator<Item = Result<Document>>;
|
pub type UpdateFile = dyn Iterator<Item = Result<Document>>;
|
||||||
|
|
||||||
|
#[allow(clippy::large_enum_variant)]
|
||||||
pub enum DumpReader {
|
pub enum DumpReader {
|
||||||
Current(V6Reader),
|
Current(V6Reader),
|
||||||
Compat(CompatV5ToV6),
|
Compat(CompatV5ToV6),
|
||||||
@ -101,6 +102,13 @@ impl DumpReader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn batches(&mut self) -> Result<Box<dyn Iterator<Item = Result<v6::Batch>> + '_>> {
|
||||||
|
match self {
|
||||||
|
DumpReader::Current(current) => Ok(current.batches()),
|
||||||
|
DumpReader::Compat(_compat) => Ok(Box::new(std::iter::empty())),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn keys(&mut self) -> Result<Box<dyn Iterator<Item = Result<v6::Key>> + '_>> {
|
pub fn keys(&mut self) -> Result<Box<dyn Iterator<Item = Result<v6::Key>> + '_>> {
|
||||||
match self {
|
match self {
|
||||||
DumpReader::Current(current) => Ok(current.keys()),
|
DumpReader::Current(current) => Ok(current.keys()),
|
||||||
@ -114,6 +122,13 @@ impl DumpReader {
|
|||||||
DumpReader::Compat(compat) => compat.features(),
|
DumpReader::Compat(compat) => compat.features(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn network(&self) -> Result<Option<&v6::Network>> {
|
||||||
|
match self {
|
||||||
|
DumpReader::Current(current) => Ok(current.network()),
|
||||||
|
DumpReader::Compat(compat) => compat.network(),
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<V6Reader> for DumpReader {
|
impl From<V6Reader> for DumpReader {
|
||||||
@ -197,19 +212,161 @@ pub(crate) mod test {
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::reader::v6::RuntimeTogglableFeatures;
|
use crate::reader::v6::RuntimeTogglableFeatures;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn import_dump_v6_with_vectors() {
|
||||||
|
// dump containing two indexes
|
||||||
|
//
|
||||||
|
// "vector", configured with an embedder
|
||||||
|
// contains:
|
||||||
|
// - one document with an overriden vector,
|
||||||
|
// - one document with a natural vector
|
||||||
|
// - one document with a _vectors map containing one additional embedder name and a natural vector
|
||||||
|
// - one document with a _vectors map containing one additional embedder name and an overriden vector
|
||||||
|
//
|
||||||
|
// "novector", no embedder
|
||||||
|
// contains:
|
||||||
|
// - a document without vector
|
||||||
|
// - a document with a random _vectors field
|
||||||
|
let dump = File::open("tests/assets/v6-with-vectors.dump").unwrap();
|
||||||
|
let mut dump = DumpReader::open(dump).unwrap();
|
||||||
|
|
||||||
|
// top level infos
|
||||||
|
insta::assert_snapshot!(dump.date().unwrap(), @"2024-05-16 15:51:34.151044 +00:00:00");
|
||||||
|
insta::assert_debug_snapshot!(dump.instance_uid().unwrap(), @"None");
|
||||||
|
|
||||||
|
// batches didn't exists at the time
|
||||||
|
let batches = dump.batches().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(batches), @"[]");
|
||||||
|
|
||||||
|
// tasks
|
||||||
|
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
||||||
|
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"2b8a72d6bc6ba79980491966437daaf9");
|
||||||
|
assert_eq!(update_files.len(), 10);
|
||||||
|
assert!(update_files[0].is_none()); // the dump creation
|
||||||
|
assert!(update_files[1].is_none());
|
||||||
|
assert!(update_files[2].is_none());
|
||||||
|
assert!(update_files[3].is_none());
|
||||||
|
assert!(update_files[4].is_none());
|
||||||
|
assert!(update_files[5].is_none());
|
||||||
|
assert!(update_files[6].is_none());
|
||||||
|
assert!(update_files[7].is_none());
|
||||||
|
assert!(update_files[8].is_none());
|
||||||
|
assert!(update_files[9].is_none());
|
||||||
|
|
||||||
|
// indexes
|
||||||
|
let mut indexes = dump.indexes().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
// the index are not ordered in any way by default
|
||||||
|
indexes.sort_by_key(|index| index.metadata().uid.to_string());
|
||||||
|
|
||||||
|
let mut vector_index = indexes.pop().unwrap();
|
||||||
|
let mut novector_index = indexes.pop().unwrap();
|
||||||
|
assert!(indexes.is_empty());
|
||||||
|
|
||||||
|
// vector
|
||||||
|
|
||||||
|
insta::assert_json_snapshot!(vector_index.metadata(), @r###"
|
||||||
|
{
|
||||||
|
"uid": "vector",
|
||||||
|
"primaryKey": "id",
|
||||||
|
"createdAt": "2024-05-16T15:33:17.240962Z",
|
||||||
|
"updatedAt": "2024-05-16T15:40:55.723052Z"
|
||||||
|
}
|
||||||
|
"###);
|
||||||
|
|
||||||
|
insta::assert_json_snapshot!(vector_index.settings().unwrap());
|
||||||
|
|
||||||
|
{
|
||||||
|
let documents: Result<Vec<_>> = vector_index.documents().unwrap().collect();
|
||||||
|
let mut documents = documents.unwrap();
|
||||||
|
assert_eq!(documents.len(), 4);
|
||||||
|
|
||||||
|
documents.sort_by_key(|doc| doc.get("id").unwrap().to_string());
|
||||||
|
|
||||||
|
{
|
||||||
|
let document = documents.pop().unwrap();
|
||||||
|
insta::assert_json_snapshot!(document);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let document = documents.pop().unwrap();
|
||||||
|
insta::assert_json_snapshot!(document);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let document = documents.pop().unwrap();
|
||||||
|
insta::assert_json_snapshot!(document);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let document = documents.pop().unwrap();
|
||||||
|
insta::assert_json_snapshot!(document);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// novector
|
||||||
|
|
||||||
|
insta::assert_json_snapshot!(novector_index.metadata(), @r###"
|
||||||
|
{
|
||||||
|
"uid": "novector",
|
||||||
|
"primaryKey": "id",
|
||||||
|
"createdAt": "2024-05-16T15:33:03.568055Z",
|
||||||
|
"updatedAt": "2024-05-16T15:33:07.530217Z"
|
||||||
|
}
|
||||||
|
"###);
|
||||||
|
|
||||||
|
insta::assert_json_snapshot!(novector_index.settings().unwrap().embedders, @"null");
|
||||||
|
|
||||||
|
{
|
||||||
|
let documents: Result<Vec<_>> = novector_index.documents().unwrap().collect();
|
||||||
|
let mut documents = documents.unwrap();
|
||||||
|
assert_eq!(documents.len(), 2);
|
||||||
|
|
||||||
|
documents.sort_by_key(|doc| doc.get("id").unwrap().to_string());
|
||||||
|
|
||||||
|
{
|
||||||
|
let document = documents.pop().unwrap();
|
||||||
|
insta::assert_json_snapshot!(document, @r###"
|
||||||
|
{
|
||||||
|
"id": "e1",
|
||||||
|
"other": "random1",
|
||||||
|
"_vectors": "toto"
|
||||||
|
}
|
||||||
|
"###);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let document = documents.pop().unwrap();
|
||||||
|
insta::assert_json_snapshot!(document, @r###"
|
||||||
|
{
|
||||||
|
"id": "e0",
|
||||||
|
"other": "random0"
|
||||||
|
}
|
||||||
|
"###);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
assert_eq!(dump.features().unwrap().unwrap(), RuntimeTogglableFeatures::default());
|
||||||
|
assert_eq!(dump.network().unwrap(), None);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn import_dump_v6_experimental() {
|
fn import_dump_v6_experimental() {
|
||||||
let dump = File::open("tests/assets/v6-with-experimental.dump").unwrap();
|
let dump = File::open("tests/assets/v6-with-experimental.dump").unwrap();
|
||||||
let mut dump = DumpReader::open(dump).unwrap();
|
let mut dump = DumpReader::open(dump).unwrap();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2023-07-06 7:10:27.21958 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2023-07-06 7:10:27.21958 +00:00:00");
|
||||||
insta::assert_debug_snapshot!(dump.instance_uid().unwrap(), @"None");
|
insta::assert_debug_snapshot!(dump.instance_uid().unwrap(), @"None");
|
||||||
|
|
||||||
|
// batches didn't exists at the time
|
||||||
|
let batches = dump.batches().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(batches), @"[]");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
||||||
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"d45cd8571703e58ae53c7bd7ce3f5c22");
|
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"3ddf6169b0a3703c5d770971f036fc5d");
|
||||||
assert_eq!(update_files.len(), 2);
|
assert_eq!(update_files.len(), 2);
|
||||||
assert!(update_files[0].is_none()); // the dump creation
|
assert!(update_files[0].is_none()); // the dump creation
|
||||||
assert!(update_files[1].is_none()); // the processed document addition
|
assert!(update_files[1].is_none()); // the processed document addition
|
||||||
@ -237,10 +394,28 @@ pub(crate) mod test {
|
|||||||
|
|
||||||
assert_eq!(test.documents().unwrap().count(), 1);
|
assert_eq!(test.documents().unwrap().count(), 1);
|
||||||
|
|
||||||
assert_eq!(
|
assert_eq!(dump.features().unwrap().unwrap(), RuntimeTogglableFeatures::default());
|
||||||
dump.features().unwrap().unwrap(),
|
}
|
||||||
RuntimeTogglableFeatures { vector_store: true, ..Default::default() }
|
|
||||||
);
|
#[test]
|
||||||
|
fn import_dump_v6_network() {
|
||||||
|
let dump = File::open("tests/assets/v6-with-network.dump").unwrap();
|
||||||
|
let dump = DumpReader::open(dump).unwrap();
|
||||||
|
|
||||||
|
// top level infos
|
||||||
|
insta::assert_snapshot!(dump.date().unwrap(), @"2025-01-29 15:45:32.738676 +00:00:00");
|
||||||
|
insta::assert_debug_snapshot!(dump.instance_uid().unwrap(), @"None");
|
||||||
|
|
||||||
|
// network
|
||||||
|
|
||||||
|
let network = dump.network().unwrap().unwrap();
|
||||||
|
insta::assert_snapshot!(network.local.as_ref().unwrap(), @"ms-0");
|
||||||
|
insta::assert_snapshot!(network.remotes.get("ms-0").as_ref().unwrap().url, @"http://localhost:7700");
|
||||||
|
insta::assert_snapshot!(network.remotes.get("ms-0").as_ref().unwrap().search_api_key.is_none(), @"true");
|
||||||
|
insta::assert_snapshot!(network.remotes.get("ms-1").as_ref().unwrap().url, @"http://localhost:7701");
|
||||||
|
insta::assert_snapshot!(network.remotes.get("ms-1").as_ref().unwrap().search_api_key.is_none(), @"true");
|
||||||
|
insta::assert_snapshot!(network.remotes.get("ms-2").as_ref().unwrap().url, @"http://ms-5679.example.meilisearch.io");
|
||||||
|
insta::assert_snapshot!(network.remotes.get("ms-2").as_ref().unwrap().search_api_key.as_ref().unwrap(), @"foo");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@ -249,13 +424,17 @@ pub(crate) mod test {
|
|||||||
let mut dump = DumpReader::open(dump).unwrap();
|
let mut dump = DumpReader::open(dump).unwrap();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2022-10-04 15:55:10.344982459 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2022-10-04 15:55:10.344982459 +00:00:00");
|
||||||
insta::assert_display_snapshot!(dump.instance_uid().unwrap().unwrap(), @"9e15e977-f2ae-4761-943f-1eaf75fd736d");
|
insta::assert_snapshot!(dump.instance_uid().unwrap().unwrap(), @"9e15e977-f2ae-4761-943f-1eaf75fd736d");
|
||||||
|
|
||||||
|
// batches didn't exists at the time
|
||||||
|
let batches = dump.batches().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(batches), @"[]");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
||||||
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"41f91d3a94911b2735ec41b07540df5c");
|
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"4b03e23e740b27bfb9d2a1faffe512e2");
|
||||||
assert_eq!(update_files.len(), 22);
|
assert_eq!(update_files.len(), 22);
|
||||||
assert!(update_files[0].is_none()); // the dump creation
|
assert!(update_files[0].is_none()); // the dump creation
|
||||||
assert!(update_files[1].is_some()); // the enqueued document addition
|
assert!(update_files[1].is_some()); // the enqueued document addition
|
||||||
@ -329,13 +508,17 @@ pub(crate) mod test {
|
|||||||
let mut dump = DumpReader::open(dump).unwrap();
|
let mut dump = DumpReader::open(dump).unwrap();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2022-10-06 12:53:49.131989609 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2022-10-06 12:53:49.131989609 +00:00:00");
|
||||||
insta::assert_display_snapshot!(dump.instance_uid().unwrap().unwrap(), @"9e15e977-f2ae-4761-943f-1eaf75fd736d");
|
insta::assert_snapshot!(dump.instance_uid().unwrap().unwrap(), @"9e15e977-f2ae-4761-943f-1eaf75fd736d");
|
||||||
|
|
||||||
|
// batches didn't exists at the time
|
||||||
|
let batches = dump.batches().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(batches), @"[]");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
||||||
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"c2445ddd1785528b80f2ba534d3bd00c");
|
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"c1b06a5ca60d5805483c16c5b3ff61ef");
|
||||||
assert_eq!(update_files.len(), 10);
|
assert_eq!(update_files.len(), 10);
|
||||||
assert!(update_files[0].is_some()); // the enqueued document addition
|
assert!(update_files[0].is_some()); // the enqueued document addition
|
||||||
assert!(update_files[1..].iter().all(|u| u.is_none())); // everything already processed
|
assert!(update_files[1..].iter().all(|u| u.is_none())); // everything already processed
|
||||||
@ -406,13 +589,17 @@ pub(crate) mod test {
|
|||||||
let mut dump = DumpReader::open(dump).unwrap();
|
let mut dump = DumpReader::open(dump).unwrap();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2022-10-07 11:39:03.709153554 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2022-10-07 11:39:03.709153554 +00:00:00");
|
||||||
assert_eq!(dump.instance_uid().unwrap(), None);
|
assert_eq!(dump.instance_uid().unwrap(), None);
|
||||||
|
|
||||||
|
// batches didn't exists at the time
|
||||||
|
let batches = dump.batches().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(batches), @"[]");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
||||||
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"cd12efd308fe3ed226356a727ab42ed3");
|
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"0e203b6095f7c68dbdf788321dcc8215");
|
||||||
assert_eq!(update_files.len(), 10);
|
assert_eq!(update_files.len(), 10);
|
||||||
assert!(update_files[0].is_some()); // the enqueued document addition
|
assert!(update_files[0].is_some()); // the enqueued document addition
|
||||||
assert!(update_files[1..].iter().all(|u| u.is_none())); // everything already processed
|
assert!(update_files[1..].iter().all(|u| u.is_none())); // everything already processed
|
||||||
@ -499,13 +686,17 @@ pub(crate) mod test {
|
|||||||
let mut dump = DumpReader::open(dump).unwrap();
|
let mut dump = DumpReader::open(dump).unwrap();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2022-10-09 20:27:59.904096267 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2022-10-09 20:27:59.904096267 +00:00:00");
|
||||||
assert_eq!(dump.instance_uid().unwrap(), None);
|
assert_eq!(dump.instance_uid().unwrap(), None);
|
||||||
|
|
||||||
|
// batches didn't exists at the time
|
||||||
|
let batches = dump.batches().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(batches), @"[]");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
||||||
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"bc616290adfe7d09a624cf6065ca9069");
|
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"d216c7f90f538ffbb2a059531d7ac89a");
|
||||||
assert_eq!(update_files.len(), 9);
|
assert_eq!(update_files.len(), 9);
|
||||||
assert!(update_files[0].is_some()); // the enqueued document addition
|
assert!(update_files[0].is_some()); // the enqueued document addition
|
||||||
assert!(update_files[1..].iter().all(|u| u.is_none())); // everything already processed
|
assert!(update_files[1..].iter().all(|u| u.is_none())); // everything already processed
|
||||||
@ -592,13 +783,17 @@ pub(crate) mod test {
|
|||||||
let mut dump = DumpReader::open(dump).unwrap();
|
let mut dump = DumpReader::open(dump).unwrap();
|
||||||
|
|
||||||
// top level infos
|
// top level infos
|
||||||
insta::assert_display_snapshot!(dump.date().unwrap(), @"2023-01-30 16:26:09.247261 +00:00:00");
|
insta::assert_snapshot!(dump.date().unwrap(), @"2023-01-30 16:26:09.247261 +00:00:00");
|
||||||
assert_eq!(dump.instance_uid().unwrap(), None);
|
assert_eq!(dump.instance_uid().unwrap(), None);
|
||||||
|
|
||||||
|
// batches didn't exists at the time
|
||||||
|
let batches = dump.batches().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(batches), @"[]");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
||||||
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"2db37756d8af1fb7623436b76e8956a6");
|
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"e27999f1112632222cb84f6cffff7c5f");
|
||||||
assert_eq!(update_files.len(), 8);
|
assert_eq!(update_files.len(), 8);
|
||||||
assert!(update_files[0..].iter().all(|u| u.is_none())); // everything already processed
|
assert!(update_files[0..].iter().all(|u| u.is_none())); // everything already processed
|
||||||
|
|
||||||
@ -671,10 +866,14 @@ pub(crate) mod test {
|
|||||||
assert_eq!(dump.date(), None);
|
assert_eq!(dump.date(), None);
|
||||||
assert_eq!(dump.instance_uid().unwrap(), None);
|
assert_eq!(dump.instance_uid().unwrap(), None);
|
||||||
|
|
||||||
|
// batches didn't exists at the time
|
||||||
|
let batches = dump.batches().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
|
meili_snap::snapshot!(meili_snap::json_string!(batches), @"[]");
|
||||||
|
|
||||||
// tasks
|
// tasks
|
||||||
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
let tasks = dump.tasks().unwrap().collect::<Result<Vec<_>>>().unwrap();
|
||||||
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
let (tasks, update_files): (Vec<_>, Vec<_>) = tasks.into_iter().unzip();
|
||||||
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"8df6eab075a44b3c1af6b726f9fd9a43");
|
meili_snap::snapshot_hash!(meili_snap::json_string!(tasks), @"0155a664b0cf62aae23db5138b6b03d7");
|
||||||
assert_eq!(update_files.len(), 9);
|
assert_eq!(update_files.len(), 9);
|
||||||
assert!(update_files[..].iter().all(|u| u.is_none())); // no update file in dump v1
|
assert!(update_files[..].iter().all(|u| u.is_none())); // no update file in dump v1
|
||||||
|
|
@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
source: crates/dump/src/reader/mod.rs
|
||||||
|
expression: vector_index.settings().unwrap()
|
||||||
|
---
|
||||||
|
{
|
||||||
|
"displayedAttributes": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
|
"searchableAttributes": [
|
||||||
|
"*"
|
||||||
|
],
|
||||||
|
"filterableAttributes": [],
|
||||||
|
"sortableAttributes": [],
|
||||||
|
"rankingRules": [
|
||||||
|
"words",
|
||||||
|
"typo",
|
||||||
|
"proximity",
|
||||||
|
"attribute",
|
||||||
|
"sort",
|
||||||
|
"exactness"
|
||||||
|
],
|
||||||
|
"stopWords": [],
|
||||||
|
"nonSeparatorTokens": [],
|
||||||
|
"separatorTokens": [],
|
||||||
|
"dictionary": [],
|
||||||
|
"synonyms": {},
|
||||||
|
"distinctAttribute": null,
|
||||||
|
"proximityPrecision": "byWord",
|
||||||
|
"typoTolerance": {
|
||||||
|
"enabled": true,
|
||||||
|
"minWordSizeForTypos": {
|
||||||
|
"oneTypo": 5,
|
||||||
|
"twoTypos": 9
|
||||||
|
},
|
||||||
|
"disableOnWords": [],
|
||||||
|
"disableOnAttributes": []
|
||||||
|
},
|
||||||
|
"faceting": {
|
||||||
|
"maxValuesPerFacet": 100,
|
||||||
|
"sortFacetValuesBy": {
|
||||||
|
"*": "alpha"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pagination": {
|
||||||
|
"maxTotalHits": 1000
|
||||||
|
},
|
||||||
|
"embedders": {
|
||||||
|
"default": {
|
||||||
|
"source": "huggingFace",
|
||||||
|
"model": "BAAI/bge-base-en-v1.5",
|
||||||
|
"revision": "617ca489d9e86b49b8167676d8220688b99db36e",
|
||||||
|
"pooling": "forceMean",
|
||||||
|
"documentTemplate": "{% for field in fields %} {{ field.name }}: {{ field.value }}\n{% endfor %}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"searchCutoffMs": null
|
||||||
|
}
|
@ -0,0 +1,783 @@
|
|||||||
|
---
|
||||||
|
source: dump/src/reader/mod.rs
|
||||||
|
expression: document
|
||||||
|
---
|
||||||
|
{
|
||||||
|
"id": "e3",
|
||||||
|
"desc": "overriden vector + map",
|
||||||
|
"_vectors": {
|
||||||
|
"default": [
|
||||||
|
0.2,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
],
|
||||||
|
"toto": [
|
||||||
|
0.1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,786 @@
|
|||||||
|
---
|
||||||
|
source: dump/src/reader/mod.rs
|
||||||
|
expression: document
|
||||||
|
---
|
||||||
|
{
|
||||||
|
"id": "e2",
|
||||||
|
"desc": "natural vector + map",
|
||||||
|
"_vectors": {
|
||||||
|
"toto": [],
|
||||||
|
"default": {
|
||||||
|
"embeddings": [
|
||||||
|
[
|
||||||
|
-0.05189208313822746,
|
||||||
|
-0.9273212552070618,
|
||||||
|
0.1443813145160675,
|
||||||
|
0.0932632014155388,
|
||||||
|
0.2665371894836426,
|
||||||
|
0.36266782879829407,
|
||||||
|
0.6402910947799683,
|
||||||
|
0.32014018297195435,
|
||||||
|
0.030915971845388412,
|
||||||
|
-0.9312191605567932,
|
||||||
|
-0.3718109726905823,
|
||||||
|
-0.2700554132461548,
|
||||||
|
-1.1014580726623535,
|
||||||
|
0.9154956936836244,
|
||||||
|
-0.3406888246536255,
|
||||||
|
1.0077725648880005,
|
||||||
|
0.6577560901641846,
|
||||||
|
-0.3955195546150207,
|
||||||
|
-0.4148270785808563,
|
||||||
|
0.1855088472366333,
|
||||||
|
0.5062315464019775,
|
||||||
|
-0.3632686734199524,
|
||||||
|
-0.2277890294790268,
|
||||||
|
0.2560805082321167,
|
||||||
|
-0.3853609561920166,
|
||||||
|
-0.1604762226343155,
|
||||||
|
-0.13947471976280212,
|
||||||
|
-0.20147813856601715,
|
||||||
|
-0.4466346800327301,
|
||||||
|
-0.3761846721172333,
|
||||||
|
0.1443382054567337,
|
||||||
|
0.18205296993255615,
|
||||||
|
0.49359792470932007,
|
||||||
|
-0.22538000345230105,
|
||||||
|
-0.4996317625045776,
|
||||||
|
-0.22734887897968292,
|
||||||
|
-0.6034309267997742,
|
||||||
|
-0.7857939600944519,
|
||||||
|
-0.34923747181892395,
|
||||||
|
-0.3466345965862274,
|
||||||
|
0.21176661550998688,
|
||||||
|
-0.5101462006568909,
|
||||||
|
-0.3403083384037018,
|
||||||
|
0.000315118464641273,
|
||||||
|
0.236465722322464,
|
||||||
|
-0.10246097296476364,
|
||||||
|
-1.3013339042663574,
|
||||||
|
0.3419138789176941,
|
||||||
|
-0.32963496446609497,
|
||||||
|
-0.0901619717478752,
|
||||||
|
-0.5426247119903564,
|
||||||
|
0.22656650841236117,
|
||||||
|
-0.44758284091949463,
|
||||||
|
0.14151698350906372,
|
||||||
|
-0.1089438870549202,
|
||||||
|
0.5500766634941101,
|
||||||
|
-0.670711100101471,
|
||||||
|
-0.6227269768714905,
|
||||||
|
0.3894464075565338,
|
||||||
|
-0.27609574794769287,
|
||||||
|
0.7028202414512634,
|
||||||
|
-0.19697771966457367,
|
||||||
|
0.328511506319046,
|
||||||
|
0.5063360929489136,
|
||||||
|
0.4065195322036743,
|
||||||
|
0.2614171802997589,
|
||||||
|
-0.30274391174316406,
|
||||||
|
1.0393824577331543,
|
||||||
|
-0.7742937207221985,
|
||||||
|
-0.7874112129211426,
|
||||||
|
-0.6749666929244995,
|
||||||
|
0.5190866589546204,
|
||||||
|
0.004123548045754433,
|
||||||
|
-0.28312963247299194,
|
||||||
|
-0.038731709122657776,
|
||||||
|
-1.0142987966537476,
|
||||||
|
-0.09519586712121964,
|
||||||
|
0.8755272626876831,
|
||||||
|
0.4876938760280609,
|
||||||
|
0.7811151742935181,
|
||||||
|
0.85174959897995,
|
||||||
|
0.11826585978269576,
|
||||||
|
0.5373436808586121,
|
||||||
|
0.3649002015590668,
|
||||||
|
0.19064077734947205,
|
||||||
|
-0.00287026260048151,
|
||||||
|
-0.7305403351783752,
|
||||||
|
-0.015206154435873032,
|
||||||
|
-0.7899249196052551,
|
||||||
|
0.19407285749912265,
|
||||||
|
0.08596625179052353,
|
||||||
|
-0.28976231813430786,
|
||||||
|
-0.1525907665491104,
|
||||||
|
0.3798313438892365,
|
||||||
|
0.050306469202041626,
|
||||||
|
-0.5697937607765198,
|
||||||
|
0.4219021201133728,
|
||||||
|
0.276252806186676,
|
||||||
|
0.1559903472661972,
|
||||||
|
0.10030482709407806,
|
||||||
|
-0.4043720066547394,
|
||||||
|
-0.1969818025827408,
|
||||||
|
0.5739826560020447,
|
||||||
|
0.2116064727306366,
|
||||||
|
-1.4620544910430908,
|
||||||
|
-0.7802462577819824,
|
||||||
|
-0.24739810824394223,
|
||||||
|
-0.09791352599859238,
|
||||||
|
-0.4413802027702331,
|
||||||
|
0.21549351513385773,
|
||||||
|
-0.9520436525344848,
|
||||||
|
-0.08762510865926743,
|
||||||
|
0.08154498040676117,
|
||||||
|
-0.6154940724372864,
|
||||||
|
-1.01079523563385,
|
||||||
|
0.885427713394165,
|
||||||
|
0.6967288851737976,
|
||||||
|
0.27186504006385803,
|
||||||
|
-0.43194177746772766,
|
||||||
|
-0.11248451471328735,
|
||||||
|
0.7576630711555481,
|
||||||
|
0.4998855590820313,
|
||||||
|
0.0264343973249197,
|
||||||
|
0.9872855544090272,
|
||||||
|
0.5634694695472717,
|
||||||
|
0.053698331117630005,
|
||||||
|
0.19410227239131927,
|
||||||
|
0.3570743501186371,
|
||||||
|
-0.23670297861099243,
|
||||||
|
-0.9114483594894408,
|
||||||
|
0.07884842902421951,
|
||||||
|
0.7318344116210938,
|
||||||
|
0.44630110263824463,
|
||||||
|
0.08745364099740982,
|
||||||
|
-0.347101628780365,
|
||||||
|
-0.4314247667789459,
|
||||||
|
-0.5060274004936218,
|
||||||
|
0.003706763498485088,
|
||||||
|
0.44320008158683777,
|
||||||
|
-0.00788921769708395,
|
||||||
|
-0.1368623524904251,
|
||||||
|
-0.17391923069953918,
|
||||||
|
0.14473655819892883,
|
||||||
|
0.10927865654230118,
|
||||||
|
0.6974599361419678,
|
||||||
|
0.005052129738032818,
|
||||||
|
-0.016953065991401672,
|
||||||
|
-0.1256176233291626,
|
||||||
|
-0.036742497235536575,
|
||||||
|
0.5591985583305359,
|
||||||
|
-0.37619709968566895,
|
||||||
|
0.22429119050502777,
|
||||||
|
0.5403043031692505,
|
||||||
|
-0.8603790998458862,
|
||||||
|
-0.3456307053565979,
|
||||||
|
0.9292937517166138,
|
||||||
|
0.5074859261512756,
|
||||||
|
0.6310645937919617,
|
||||||
|
-0.3091641068458557,
|
||||||
|
0.46902573108673096,
|
||||||
|
0.7891915440559387,
|
||||||
|
0.4499550759792328,
|
||||||
|
0.2744995653629303,
|
||||||
|
0.2712305784225464,
|
||||||
|
-0.04349074140191078,
|
||||||
|
-0.3638863265514374,
|
||||||
|
0.7839881777763367,
|
||||||
|
0.7352104783058167,
|
||||||
|
-0.19457511603832245,
|
||||||
|
-0.5957832932472229,
|
||||||
|
-0.43704694509506226,
|
||||||
|
-1.084769368171692,
|
||||||
|
0.4904985725879669,
|
||||||
|
0.5385226011276245,
|
||||||
|
0.1891629993915558,
|
||||||
|
0.12338479608297348,
|
||||||
|
0.8315675258636475,
|
||||||
|
-0.07830192148685455,
|
||||||
|
1.0916285514831543,
|
||||||
|
-0.28066861629486084,
|
||||||
|
-1.3585069179534912,
|
||||||
|
0.5203898549079895,
|
||||||
|
0.08678033947944641,
|
||||||
|
-0.2566044330596924,
|
||||||
|
0.09484415501356123,
|
||||||
|
-0.0180208683013916,
|
||||||
|
1.0264745950698853,
|
||||||
|
-0.023572135716676712,
|
||||||
|
0.5864979028701782,
|
||||||
|
0.7625196576118469,
|
||||||
|
-0.2543414533138275,
|
||||||
|
-0.8877770900726318,
|
||||||
|
0.7611982822418213,
|
||||||
|
-0.06220436468720436,
|
||||||
|
0.937336564064026,
|
||||||
|
0.2704363465309143,
|
||||||
|
-0.37733694911003113,
|
||||||
|
0.5076137781143188,
|
||||||
|
-0.30641937255859375,
|
||||||
|
0.6252772808074951,
|
||||||
|
-0.0823579877614975,
|
||||||
|
-0.03736555948853493,
|
||||||
|
0.4131673276424408,
|
||||||
|
-0.6514252424240112,
|
||||||
|
0.12918265163898468,
|
||||||
|
-0.4483584463596344,
|
||||||
|
0.6750786304473877,
|
||||||
|
-0.37008383870124817,
|
||||||
|
-0.02324833907186985,
|
||||||
|
0.38027650117874146,
|
||||||
|
-0.26374951004981995,
|
||||||
|
0.4346931278705597,
|
||||||
|
0.42882832884788513,
|
||||||
|
-0.48798441886901855,
|
||||||
|
1.1882442235946655,
|
||||||
|
0.5132288336753845,
|
||||||
|
0.5284568667411804,
|
||||||
|
-0.03538886830210686,
|
||||||
|
0.29620853066444397,
|
||||||
|
-1.0683696269989014,
|
||||||
|
0.25936177372932434,
|
||||||
|
0.10404160618782043,
|
||||||
|
-0.25796034932136536,
|
||||||
|
0.027896970510482788,
|
||||||
|
-0.09225251525640488,
|
||||||
|
1.4811025857925415,
|
||||||
|
0.641173779964447,
|
||||||
|
-0.13838383555412292,
|
||||||
|
-0.3437179923057556,
|
||||||
|
0.5667019486427307,
|
||||||
|
-0.5400741696357727,
|
||||||
|
0.31090837717056274,
|
||||||
|
0.6470608115196228,
|
||||||
|
-0.3747067153453827,
|
||||||
|
-0.7364534735679626,
|
||||||
|
-0.07431528717279434,
|
||||||
|
0.5173454880714417,
|
||||||
|
-0.6578747034072876,
|
||||||
|
0.7107478976249695,
|
||||||
|
-0.7918999791145325,
|
||||||
|
-0.0648345872759819,
|
||||||
|
0.609937846660614,
|
||||||
|
-0.7329513430595398,
|
||||||
|
0.9741371870040894,
|
||||||
|
0.17912346124649048,
|
||||||
|
-0.02658769302070141,
|
||||||
|
0.5162150859832764,
|
||||||
|
-0.3978803157806397,
|
||||||
|
-0.7833885550498962,
|
||||||
|
-0.6497276425361633,
|
||||||
|
-0.3898126780986786,
|
||||||
|
-0.0952848568558693,
|
||||||
|
0.2663288116455078,
|
||||||
|
-0.1604052186012268,
|
||||||
|
0.373076468706131,
|
||||||
|
-0.8357769250869751,
|
||||||
|
-0.05217683315277099,
|
||||||
|
-0.2680160701274872,
|
||||||
|
0.8389158248901367,
|
||||||
|
0.6833611130714417,
|
||||||
|
-0.6712407469749451,
|
||||||
|
0.7406917214393616,
|
||||||
|
-0.44522786140441895,
|
||||||
|
-0.34645363688468933,
|
||||||
|
-0.27384576201438904,
|
||||||
|
-0.9878405928611756,
|
||||||
|
-0.8166060447692871,
|
||||||
|
0.06268279999494553,
|
||||||
|
0.38567957282066345,
|
||||||
|
-0.3274703919887543,
|
||||||
|
0.5296315550804138,
|
||||||
|
-0.11810623109340668,
|
||||||
|
0.23029841482639313,
|
||||||
|
0.08616159111261368,
|
||||||
|
-0.2195747196674347,
|
||||||
|
0.09430307894945145,
|
||||||
|
0.4057176411151886,
|
||||||
|
0.4892159104347229,
|
||||||
|
-0.1636916548013687,
|
||||||
|
-0.6071445345878601,
|
||||||
|
0.41256585717201233,
|
||||||
|
0.622254490852356,
|
||||||
|
-0.41223976016044617,
|
||||||
|
-0.6686707139015198,
|
||||||
|
-0.7474371790885925,
|
||||||
|
-0.8509522080421448,
|
||||||
|
-0.16754287481307983,
|
||||||
|
-0.9078601002693176,
|
||||||
|
-0.29653599858283997,
|
||||||
|
-0.5020652413368225,
|
||||||
|
0.4692700505256653,
|
||||||
|
0.01281109917908907,
|
||||||
|
-0.16071580350399017,
|
||||||
|
0.03388889133930206,
|
||||||
|
-0.020511148497462273,
|
||||||
|
0.5027827024459839,
|
||||||
|
-0.20729811489582065,
|
||||||
|
0.48107290267944336,
|
||||||
|
0.33669769763946533,
|
||||||
|
-0.5275911688804626,
|
||||||
|
0.48271527886390686,
|
||||||
|
0.2738940715789795,
|
||||||
|
-0.033152539283037186,
|
||||||
|
-0.13629786670207977,
|
||||||
|
-0.05965912342071533,
|
||||||
|
-0.26200807094573975,
|
||||||
|
0.04002794995903969,
|
||||||
|
-0.34095603227615356,
|
||||||
|
-3.986898899078369,
|
||||||
|
-0.46819332242012024,
|
||||||
|
-0.422744482755661,
|
||||||
|
-0.169097900390625,
|
||||||
|
0.6008929014205933,
|
||||||
|
0.058016058057546616,
|
||||||
|
-0.11401277780532836,
|
||||||
|
-0.3077819049358368,
|
||||||
|
-0.09595538675785063,
|
||||||
|
0.6723822355270386,
|
||||||
|
0.19367831945419312,
|
||||||
|
0.28304359316825867,
|
||||||
|
0.1609862744808197,
|
||||||
|
0.7567598819732666,
|
||||||
|
0.6889985799789429,
|
||||||
|
0.06907720118761063,
|
||||||
|
-0.04188092052936554,
|
||||||
|
-0.7434936165809631,
|
||||||
|
0.13321782648563385,
|
||||||
|
0.8456063270568848,
|
||||||
|
-0.10364038497209548,
|
||||||
|
-0.45084846019744873,
|
||||||
|
-0.4758241474628449,
|
||||||
|
0.43882066011428833,
|
||||||
|
-0.6432598829269409,
|
||||||
|
0.7217311859130859,
|
||||||
|
-0.24189773201942444,
|
||||||
|
0.12737572193145752,
|
||||||
|
-1.1008601188659668,
|
||||||
|
-0.3305315673351288,
|
||||||
|
0.14614742994308472,
|
||||||
|
-0.7819333076477051,
|
||||||
|
0.5287120342254639,
|
||||||
|
-0.055538054555654526,
|
||||||
|
0.1877404749393463,
|
||||||
|
-0.6907662153244019,
|
||||||
|
0.5616975426673889,
|
||||||
|
-0.4611121714115143,
|
||||||
|
-0.26109233498573303,
|
||||||
|
-0.12898315489292145,
|
||||||
|
-0.3724522292613983,
|
||||||
|
-0.7191406488418579,
|
||||||
|
-0.4425233602523804,
|
||||||
|
-0.644108235836029,
|
||||||
|
0.8424481153488159,
|
||||||
|
0.17532426118850708,
|
||||||
|
-0.5121750235557556,
|
||||||
|
-0.6467239260673523,
|
||||||
|
-0.0008507720194756985,
|
||||||
|
0.7866212129592896,
|
||||||
|
-0.02644744887948036,
|
||||||
|
-0.005045140627771616,
|
||||||
|
0.015782782807946205,
|
||||||
|
0.16334445774555206,
|
||||||
|
-0.1913367658853531,
|
||||||
|
-0.13697923719882965,
|
||||||
|
-0.6684983372688293,
|
||||||
|
0.18346354365348816,
|
||||||
|
-0.341105580329895,
|
||||||
|
0.5427411198616028,
|
||||||
|
0.3779832422733307,
|
||||||
|
-0.6778115034103394,
|
||||||
|
-0.2931850254535675,
|
||||||
|
-0.8805161714553833,
|
||||||
|
-0.4212774932384491,
|
||||||
|
-0.5368952751159668,
|
||||||
|
-1.3937891721725464,
|
||||||
|
-1.225494146347046,
|
||||||
|
0.4276703894138336,
|
||||||
|
1.1205668449401855,
|
||||||
|
-0.6005299687385559,
|
||||||
|
0.15732505917549133,
|
||||||
|
-0.3914784789085388,
|
||||||
|
-1.357046604156494,
|
||||||
|
-0.4707142114639282,
|
||||||
|
-0.1497287154197693,
|
||||||
|
-0.25035548210144043,
|
||||||
|
-0.34328439831733704,
|
||||||
|
0.39083412289619446,
|
||||||
|
0.1623048633337021,
|
||||||
|
-0.9275814294815063,
|
||||||
|
-0.6430015563964844,
|
||||||
|
0.2973862886428833,
|
||||||
|
0.5580436587333679,
|
||||||
|
-0.6232585310935974,
|
||||||
|
-0.6611042022705078,
|
||||||
|
0.4015969038009643,
|
||||||
|
-1.0232892036437988,
|
||||||
|
-0.2585645020008087,
|
||||||
|
-0.5431421399116516,
|
||||||
|
0.5021264553070068,
|
||||||
|
-0.48601630330085754,
|
||||||
|
-0.010242084041237833,
|
||||||
|
0.5862035155296326,
|
||||||
|
0.7316920161247253,
|
||||||
|
0.4036808013916016,
|
||||||
|
0.4269520044326782,
|
||||||
|
-0.705938458442688,
|
||||||
|
0.7747307419776917,
|
||||||
|
0.10164368897676468,
|
||||||
|
0.7887958884239197,
|
||||||
|
-0.9612497091293336,
|
||||||
|
0.12755516171455383,
|
||||||
|
0.06812842190265656,
|
||||||
|
-0.022603651508688927,
|
||||||
|
0.14722754061222076,
|
||||||
|
-0.5588505268096924,
|
||||||
|
-0.20689940452575684,
|
||||||
|
0.3557641804218292,
|
||||||
|
-0.6812759637832642,
|
||||||
|
0.2860803008079529,
|
||||||
|
-0.38954633474349976,
|
||||||
|
0.1759403496980667,
|
||||||
|
-0.5678874850273132,
|
||||||
|
-0.1692986786365509,
|
||||||
|
-0.14578519761562347,
|
||||||
|
0.5711379051208496,
|
||||||
|
1.0208125114440918,
|
||||||
|
0.7759483456611633,
|
||||||
|
-0.372348427772522,
|
||||||
|
-0.5460885763168335,
|
||||||
|
0.7190321683883667,
|
||||||
|
-0.6914990544319153,
|
||||||
|
0.13365162909030914,
|
||||||
|
-0.4854792356491089,
|
||||||
|
0.4054908752441406,
|
||||||
|
0.4502798914909363,
|
||||||
|
-0.3041122555732727,
|
||||||
|
-0.06726965308189392,
|
||||||
|
-0.05570871382951737,
|
||||||
|
-0.0455719493329525,
|
||||||
|
0.4785125255584717,
|
||||||
|
0.8867972493171692,
|
||||||
|
0.4107886850833893,
|
||||||
|
0.6121342182159424,
|
||||||
|
-0.20477132499217987,
|
||||||
|
-0.5598517656326294,
|
||||||
|
-0.6443566679954529,
|
||||||
|
-0.5905212759971619,
|
||||||
|
-0.5571200251579285,
|
||||||
|
0.17573799192905426,
|
||||||
|
-0.28621870279312134,
|
||||||
|
0.1685224026441574,
|
||||||
|
0.09719007462263109,
|
||||||
|
-0.04223639518022537,
|
||||||
|
-0.28623101115226746,
|
||||||
|
-0.1449810117483139,
|
||||||
|
-0.3789580464363098,
|
||||||
|
-0.5227636098861694,
|
||||||
|
-0.049728814512491226,
|
||||||
|
0.7849089503288269,
|
||||||
|
0.16792525351047516,
|
||||||
|
0.9849340915679932,
|
||||||
|
-0.6559549570083618,
|
||||||
|
0.35723909735679626,
|
||||||
|
-0.6822739243507385,
|
||||||
|
1.2873116731643677,
|
||||||
|
0.19993330538272855,
|
||||||
|
0.03512010723352432,
|
||||||
|
-0.6972134113311768,
|
||||||
|
0.18453484773635864,
|
||||||
|
-0.2437680810689926,
|
||||||
|
0.2156416028738022,
|
||||||
|
0.5230382680892944,
|
||||||
|
0.22020135819911957,
|
||||||
|
0.8314080238342285,
|
||||||
|
0.15627102553844452,
|
||||||
|
-0.7330264449119568,
|
||||||
|
0.3888184726238251,
|
||||||
|
-0.22034703195095065,
|
||||||
|
0.5457669496536255,
|
||||||
|
-0.48084837198257446,
|
||||||
|
-0.45576658844947815,
|
||||||
|
-0.09287727624177931,
|
||||||
|
-0.06968110054731369,
|
||||||
|
0.35125672817230225,
|
||||||
|
-0.4278119504451752,
|
||||||
|
0.2038476765155792,
|
||||||
|
0.11392722278833388,
|
||||||
|
0.9433983564376832,
|
||||||
|
-0.4097744226455689,
|
||||||
|
0.035297419875860214,
|
||||||
|
-0.4274404048919678,
|
||||||
|
-0.25100165605545044,
|
||||||
|
1.0943366289138794,
|
||||||
|
-0.07634022831916809,
|
||||||
|
-0.2925529479980469,
|
||||||
|
-0.7512530088424683,
|
||||||
|
0.2649727463722229,
|
||||||
|
-0.4078235328197479,
|
||||||
|
-0.3372223973274231,
|
||||||
|
0.05190162733197212,
|
||||||
|
0.005654910113662481,
|
||||||
|
-0.0001571219472680241,
|
||||||
|
-0.35445958375930786,
|
||||||
|
-0.7837416529655457,
|
||||||
|
0.1500556766986847,
|
||||||
|
0.4383024573326111,
|
||||||
|
0.6099548935890198,
|
||||||
|
0.05951934307813645,
|
||||||
|
-0.21325334906578064,
|
||||||
|
0.0199207104742527,
|
||||||
|
-0.22704418003559113,
|
||||||
|
-0.6481077671051025,
|
||||||
|
0.37442275881767273,
|
||||||
|
-1.015955924987793,
|
||||||
|
0.38637226819992065,
|
||||||
|
-0.06489371508359909,
|
||||||
|
-0.494120329618454,
|
||||||
|
0.3469836115837097,
|
||||||
|
0.15402406454086304,
|
||||||
|
-0.7660972476005554,
|
||||||
|
-0.7053225040435791,
|
||||||
|
-0.25964751839637756,
|
||||||
|
0.014004424214363098,
|
||||||
|
-0.2860170006752014,
|
||||||
|
-0.17565494775772095,
|
||||||
|
-0.45117494463920593,
|
||||||
|
-0.0031954257283359766,
|
||||||
|
0.09676837921142578,
|
||||||
|
-0.514464259147644,
|
||||||
|
0.41698193550109863,
|
||||||
|
-0.21642713248729703,
|
||||||
|
-0.5398141145706177,
|
||||||
|
-0.3647628426551819,
|
||||||
|
0.37005379796028137,
|
||||||
|
0.239425927400589,
|
||||||
|
-0.08833975344896317,
|
||||||
|
0.934946596622467,
|
||||||
|
-0.48340797424316406,
|
||||||
|
0.6241437792778015,
|
||||||
|
-0.7253676652908325,
|
||||||
|
-0.04303571209311485,
|
||||||
|
1.1125205755233765,
|
||||||
|
-0.15692919492721558,
|
||||||
|
-0.2914651036262512,
|
||||||
|
-0.5117168426513672,
|
||||||
|
0.21365483105182648,
|
||||||
|
0.4924402534961701,
|
||||||
|
0.5269662141799927,
|
||||||
|
0.0352792888879776,
|
||||||
|
-0.149167999625206,
|
||||||
|
-0.6019760370254517,
|
||||||
|
0.08245442807674408,
|
||||||
|
0.4900692105293274,
|
||||||
|
0.518824577331543,
|
||||||
|
-0.00005570516441366635,
|
||||||
|
-0.553304135799408,
|
||||||
|
0.22217543423175812,
|
||||||
|
0.5047767758369446,
|
||||||
|
0.135724738240242,
|
||||||
|
1.1511540412902832,
|
||||||
|
-0.3541218340396881,
|
||||||
|
-0.9712511897087096,
|
||||||
|
0.8353699445724487,
|
||||||
|
-0.39227569103240967,
|
||||||
|
-0.9117669463157654,
|
||||||
|
-0.26349931955337524,
|
||||||
|
0.05597023293375969,
|
||||||
|
0.20695461332798004,
|
||||||
|
0.3178807199001312,
|
||||||
|
1.0663238763809204,
|
||||||
|
0.5062212347984314,
|
||||||
|
0.7288597822189331,
|
||||||
|
0.09899299591779707,
|
||||||
|
0.553720235824585,
|
||||||
|
0.675009548664093,
|
||||||
|
-0.20067055523395536,
|
||||||
|
0.3138423264026642,
|
||||||
|
-0.6886593103408813,
|
||||||
|
-0.2910398542881012,
|
||||||
|
-1.3186300992965698,
|
||||||
|
-0.4684459865093231,
|
||||||
|
-0.095743365585804,
|
||||||
|
-0.1257995069026947,
|
||||||
|
-0.4858281314373016,
|
||||||
|
-0.4935407340526581,
|
||||||
|
-0.3266896903514862,
|
||||||
|
-0.3928797245025635,
|
||||||
|
-0.40803104639053345,
|
||||||
|
-0.9975396394729614,
|
||||||
|
0.4229583740234375,
|
||||||
|
0.37309643626213074,
|
||||||
|
0.4431034922599793,
|
||||||
|
0.30364808440208435,
|
||||||
|
-0.3765178918838501,
|
||||||
|
0.5616499185562134,
|
||||||
|
0.16904796659946442,
|
||||||
|
-0.7343707084655762,
|
||||||
|
0.2560209631919861,
|
||||||
|
0.6166825294494629,
|
||||||
|
0.3200829327106476,
|
||||||
|
-0.4483652710914612,
|
||||||
|
0.16224201023578644,
|
||||||
|
-0.31495288014411926,
|
||||||
|
-0.42713335156440735,
|
||||||
|
0.7270734906196594,
|
||||||
|
0.7049484848976135,
|
||||||
|
-0.0571461021900177,
|
||||||
|
0.04477125033736229,
|
||||||
|
-0.6647796034812927,
|
||||||
|
1.183672308921814,
|
||||||
|
0.36199676990509033,
|
||||||
|
0.046881116926670074,
|
||||||
|
0.4515796303749085,
|
||||||
|
0.9278061985969543,
|
||||||
|
0.31471705436706543,
|
||||||
|
-0.7073333859443665,
|
||||||
|
-0.3443860113620758,
|
||||||
|
0.5440067052841187,
|
||||||
|
-0.15020819008350372,
|
||||||
|
-0.541202962398529,
|
||||||
|
0.5203295946121216,
|
||||||
|
1.2192286252975464,
|
||||||
|
-0.9983593225479126,
|
||||||
|
-0.18758884072303772,
|
||||||
|
0.2758221924304962,
|
||||||
|
-0.6511523723602295,
|
||||||
|
-0.1584404855966568,
|
||||||
|
-0.236241415143013,
|
||||||
|
0.2692437767982483,
|
||||||
|
-0.4941152036190033,
|
||||||
|
0.4987454116344452,
|
||||||
|
-0.3331359028816223,
|
||||||
|
0.3163745701313019,
|
||||||
|
0.745529294013977,
|
||||||
|
-0.2905873656272888,
|
||||||
|
0.13602906465530396,
|
||||||
|
0.4679684340953827,
|
||||||
|
1.0555986166000366,
|
||||||
|
1.075700044631958,
|
||||||
|
0.5368486046791077,
|
||||||
|
-0.5118206739425659,
|
||||||
|
0.8668332099914551,
|
||||||
|
-0.5726966857910156,
|
||||||
|
-0.7811751961708069,
|
||||||
|
0.1938626915216446,
|
||||||
|
-0.1929349899291992,
|
||||||
|
0.1757766306400299,
|
||||||
|
0.6384295225143433,
|
||||||
|
0.26462844014167786,
|
||||||
|
0.9542630314826964,
|
||||||
|
0.19313029944896695,
|
||||||
|
1.264248013496399,
|
||||||
|
-0.6304428577423096,
|
||||||
|
0.0487106591463089,
|
||||||
|
-0.16211535036563873,
|
||||||
|
-0.7894763350486755,
|
||||||
|
0.3582514822483063,
|
||||||
|
-0.04153040423989296,
|
||||||
|
0.635784387588501,
|
||||||
|
0.6554391980171204,
|
||||||
|
-0.47010496258735657,
|
||||||
|
-0.8302040696144104,
|
||||||
|
-0.1350124627351761,
|
||||||
|
0.2568812072277069,
|
||||||
|
0.13614831864833832,
|
||||||
|
-0.2563649117946625,
|
||||||
|
-1.0434694290161133,
|
||||||
|
0.3232482671737671,
|
||||||
|
0.47882452607154846,
|
||||||
|
0.4298652410507202,
|
||||||
|
1.0563770532608032,
|
||||||
|
-0.28917592763900757,
|
||||||
|
-0.8533256649971008,
|
||||||
|
0.10648339986801147,
|
||||||
|
0.6376127004623413,
|
||||||
|
-0.20832888782024384,
|
||||||
|
0.2370245456695557,
|
||||||
|
0.0018312990432605147,
|
||||||
|
-0.2034837007522583,
|
||||||
|
0.01051164511591196,
|
||||||
|
-1.105310082435608,
|
||||||
|
0.29724350571632385,
|
||||||
|
0.15604574978351593,
|
||||||
|
0.1973688006401062,
|
||||||
|
0.44394731521606445,
|
||||||
|
0.3974513411521912,
|
||||||
|
-0.13625948131084442,
|
||||||
|
0.9571986198425292,
|
||||||
|
0.2257384955883026,
|
||||||
|
0.2323588728904724,
|
||||||
|
-0.5583669543266296,
|
||||||
|
-0.7854922413825989,
|
||||||
|
0.1647188365459442,
|
||||||
|
-1.6098142862319946,
|
||||||
|
0.318587988615036,
|
||||||
|
-0.13399995863437653,
|
||||||
|
-0.2172701060771942,
|
||||||
|
-0.767514705657959,
|
||||||
|
-0.5813586711883545,
|
||||||
|
-0.3195130527019501,
|
||||||
|
-0.04894036799669266,
|
||||||
|
0.2929930090904236,
|
||||||
|
-0.8213384747505188,
|
||||||
|
0.07181350141763687,
|
||||||
|
0.7469993829727173,
|
||||||
|
0.6407455801963806,
|
||||||
|
0.16365697979927063,
|
||||||
|
0.7870153188705444,
|
||||||
|
0.6524736881256104,
|
||||||
|
0.6399973630905151,
|
||||||
|
-0.04992736503481865,
|
||||||
|
-0.03959266096353531,
|
||||||
|
-0.2512352466583252,
|
||||||
|
0.8448855876922607,
|
||||||
|
-0.1422702670097351,
|
||||||
|
0.1216789186000824,
|
||||||
|
-1.2647287845611572,
|
||||||
|
0.5931149125099182,
|
||||||
|
0.7186052203178406,
|
||||||
|
-0.06118432432413101,
|
||||||
|
-1.1942816972732544,
|
||||||
|
-0.17677085101604462,
|
||||||
|
0.31543800234794617,
|
||||||
|
-0.32252824306488037,
|
||||||
|
0.8255583047866821,
|
||||||
|
-0.14529970288276672,
|
||||||
|
-0.2695446312427521,
|
||||||
|
-0.33378756046295166,
|
||||||
|
-0.1653425395488739,
|
||||||
|
0.1454019844532013,
|
||||||
|
-0.3920115828514099,
|
||||||
|
0.912214994430542,
|
||||||
|
-0.7279734015464783,
|
||||||
|
0.7374742031097412,
|
||||||
|
0.933980405330658,
|
||||||
|
0.13429680466651917,
|
||||||
|
-0.514870285987854,
|
||||||
|
0.3989711999893189,
|
||||||
|
-0.11613689363002776,
|
||||||
|
0.4022413492202759,
|
||||||
|
-0.9990655779838562,
|
||||||
|
-0.33749932050704956,
|
||||||
|
-0.4334589838981629,
|
||||||
|
-1.376373291015625,
|
||||||
|
-0.2993924915790558,
|
||||||
|
-0.09454808384180068,
|
||||||
|
-0.01314175222069025,
|
||||||
|
-0.001090060803107917,
|
||||||
|
0.2137461006641388,
|
||||||
|
0.2938512861728668,
|
||||||
|
0.17508235573768616,
|
||||||
|
0.8260607123374939,
|
||||||
|
-0.7218498587608337,
|
||||||
|
0.2414487451314926,
|
||||||
|
-0.47296759486198425,
|
||||||
|
-0.3002610504627228,
|
||||||
|
-1.238540768623352,
|
||||||
|
0.08663805574178696,
|
||||||
|
0.6805586218833923,
|
||||||
|
0.5909030437469482,
|
||||||
|
-0.42807504534721375,
|
||||||
|
-0.22887496650218964,
|
||||||
|
0.47537800669670105,
|
||||||
|
-1.0474627017974854,
|
||||||
|
0.6338009238243103,
|
||||||
|
0.06548397243022919,
|
||||||
|
0.4971011281013489,
|
||||||
|
1.3484878540039063
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"regenerate": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,785 @@
|
|||||||
|
---
|
||||||
|
source: dump/src/reader/mod.rs
|
||||||
|
expression: document
|
||||||
|
---
|
||||||
|
{
|
||||||
|
"id": "e1",
|
||||||
|
"desc": "natural vector",
|
||||||
|
"_vectors": {
|
||||||
|
"default": {
|
||||||
|
"embeddings": [
|
||||||
|
[
|
||||||
|
-0.2979458272457123,
|
||||||
|
-0.5288640856742859,
|
||||||
|
-0.019957859069108963,
|
||||||
|
-0.18495318293571472,
|
||||||
|
0.7429973483085632,
|
||||||
|
0.5238497257232666,
|
||||||
|
0.432366281747818,
|
||||||
|
0.32744166254997253,
|
||||||
|
0.0020762972999364138,
|
||||||
|
-0.9507834911346436,
|
||||||
|
-0.35097137093544006,
|
||||||
|
0.08469701558351517,
|
||||||
|
-1.4176613092422483,
|
||||||
|
0.4647577106952667,
|
||||||
|
-0.69340580701828,
|
||||||
|
1.0372896194458008,
|
||||||
|
0.3716741800308227,
|
||||||
|
0.06031008064746857,
|
||||||
|
-0.6152024269104004,
|
||||||
|
0.007914665155112743,
|
||||||
|
0.7954924702644348,
|
||||||
|
-0.20773003995418549,
|
||||||
|
0.09376765787601472,
|
||||||
|
0.04508133605122566,
|
||||||
|
-0.2084471583366394,
|
||||||
|
-0.1518009901046753,
|
||||||
|
0.018195509910583496,
|
||||||
|
-0.07044368237257004,
|
||||||
|
-0.18119366466999057,
|
||||||
|
-0.4480230510234833,
|
||||||
|
0.3822529911994934,
|
||||||
|
0.1911812424659729,
|
||||||
|
0.4674372375011444,
|
||||||
|
0.06963984668254852,
|
||||||
|
-0.09341949224472046,
|
||||||
|
0.005675444379448891,
|
||||||
|
-0.6774799227714539,
|
||||||
|
-0.7066726684570313,
|
||||||
|
-0.39256376028060913,
|
||||||
|
0.04005039855837822,
|
||||||
|
0.2084812968969345,
|
||||||
|
-0.7872875928878784,
|
||||||
|
-0.8205880522727966,
|
||||||
|
0.2919981777667999,
|
||||||
|
-0.06004738807678223,
|
||||||
|
-0.4907574355602264,
|
||||||
|
-1.5937862396240234,
|
||||||
|
0.24249385297298431,
|
||||||
|
-0.14709846675395966,
|
||||||
|
-0.11860740929841997,
|
||||||
|
-0.8299489617347717,
|
||||||
|
0.472964346408844,
|
||||||
|
-0.497518390417099,
|
||||||
|
-0.22205302119255063,
|
||||||
|
-0.4196169078350067,
|
||||||
|
0.32697558403015137,
|
||||||
|
-0.360930860042572,
|
||||||
|
-0.9789686799049376,
|
||||||
|
0.1887447088956833,
|
||||||
|
-0.403737336397171,
|
||||||
|
0.18524253368377688,
|
||||||
|
0.3768732249736786,
|
||||||
|
0.3666233420372009,
|
||||||
|
0.3511938452720642,
|
||||||
|
0.6985810995101929,
|
||||||
|
0.41721710562705994,
|
||||||
|
0.09754953533411026,
|
||||||
|
0.6204307079315186,
|
||||||
|
-1.0762996673583984,
|
||||||
|
-0.06263761967420578,
|
||||||
|
-0.7376511693000793,
|
||||||
|
0.6849768161773682,
|
||||||
|
-0.1745152473449707,
|
||||||
|
-0.40449759364128113,
|
||||||
|
0.20757411420345304,
|
||||||
|
-0.8424443006515503,
|
||||||
|
0.330015629529953,
|
||||||
|
0.3489064872264862,
|
||||||
|
1.0954371690750122,
|
||||||
|
0.8487558960914612,
|
||||||
|
1.1076823472976685,
|
||||||
|
0.61430823802948,
|
||||||
|
0.4155903458595276,
|
||||||
|
0.4111340939998626,
|
||||||
|
0.05753209814429283,
|
||||||
|
-0.06429877132177353,
|
||||||
|
-0.765606164932251,
|
||||||
|
-0.41703930497169495,
|
||||||
|
-0.508820652961731,
|
||||||
|
0.19859947264194489,
|
||||||
|
-0.16607828438282013,
|
||||||
|
-0.28112146258354187,
|
||||||
|
0.11032675206661224,
|
||||||
|
0.38809511065483093,
|
||||||
|
-0.36498191952705383,
|
||||||
|
-0.48671194911003113,
|
||||||
|
0.6755134463310242,
|
||||||
|
0.03958442434668541,
|
||||||
|
0.4478721618652344,
|
||||||
|
-0.10335399955511092,
|
||||||
|
-0.9546685814857484,
|
||||||
|
-0.6087718605995178,
|
||||||
|
0.17498846352100372,
|
||||||
|
0.08320838958024979,
|
||||||
|
-1.4478336572647097,
|
||||||
|
-0.605027437210083,
|
||||||
|
-0.5867993235588074,
|
||||||
|
-0.14711688458919525,
|
||||||
|
-0.5447602272033691,
|
||||||
|
-0.026259321719408035,
|
||||||
|
-0.6997418403625488,
|
||||||
|
-0.07349082082509995,
|
||||||
|
0.10638900846242905,
|
||||||
|
-0.7133527398109436,
|
||||||
|
-0.9396815299987792,
|
||||||
|
1.087092399597168,
|
||||||
|
1.1885089874267578,
|
||||||
|
0.4011896848678589,
|
||||||
|
-0.4089202582836151,
|
||||||
|
-0.10938972979784012,
|
||||||
|
0.6726722121238708,
|
||||||
|
0.24576938152313232,
|
||||||
|
-0.24247920513153076,
|
||||||
|
1.1499971151351929,
|
||||||
|
0.47813335061073303,
|
||||||
|
-0.05331678315997124,
|
||||||
|
0.32338133454322815,
|
||||||
|
0.4870913326740265,
|
||||||
|
-0.23144258558750153,
|
||||||
|
-1.2023426294326782,
|
||||||
|
0.2349330335855484,
|
||||||
|
1.080536961555481,
|
||||||
|
0.29334118962287903,
|
||||||
|
0.391574501991272,
|
||||||
|
-0.15818795561790466,
|
||||||
|
-0.2948290705680847,
|
||||||
|
-0.024689948186278343,
|
||||||
|
0.06602869182825089,
|
||||||
|
0.5937030911445618,
|
||||||
|
-0.047901444137096405,
|
||||||
|
-0.512734591960907,
|
||||||
|
-0.35780075192451477,
|
||||||
|
0.28751692175865173,
|
||||||
|
0.4298716187477112,
|
||||||
|
0.9242428541183472,
|
||||||
|
-0.17208744585514069,
|
||||||
|
0.11515070497989656,
|
||||||
|
-0.0335976779460907,
|
||||||
|
-0.3422986567020416,
|
||||||
|
0.5344581604003906,
|
||||||
|
0.19895796477794647,
|
||||||
|
0.33001241087913513,
|
||||||
|
0.6390730142593384,
|
||||||
|
-0.6074934005737305,
|
||||||
|
-0.2553696632385254,
|
||||||
|
0.9644920229911804,
|
||||||
|
0.2699219584465027,
|
||||||
|
0.6403993368148804,
|
||||||
|
-0.6380003690719604,
|
||||||
|
-0.027310986071825027,
|
||||||
|
0.638815701007843,
|
||||||
|
0.27719101309776306,
|
||||||
|
-0.13553589582443237,
|
||||||
|
0.750195324420929,
|
||||||
|
0.1224869191646576,
|
||||||
|
-0.20613941550254825,
|
||||||
|
0.8444448709487915,
|
||||||
|
0.16200250387191772,
|
||||||
|
-0.24750925600528717,
|
||||||
|
-0.739950954914093,
|
||||||
|
-0.28443849086761475,
|
||||||
|
-1.176282525062561,
|
||||||
|
0.516107976436615,
|
||||||
|
0.3774825632572174,
|
||||||
|
0.10906043648719788,
|
||||||
|
0.07962015271186829,
|
||||||
|
0.7384604215621948,
|
||||||
|
-0.051241904497146606,
|
||||||
|
1.1730090379714966,
|
||||||
|
-0.4828610122203827,
|
||||||
|
-1.404372215270996,
|
||||||
|
0.8811132311820984,
|
||||||
|
-0.3839482367038727,
|
||||||
|
0.022516896948218346,
|
||||||
|
-0.0491158664226532,
|
||||||
|
-0.43027013540267944,
|
||||||
|
1.2049334049224854,
|
||||||
|
-0.27309560775756836,
|
||||||
|
0.6883630752563477,
|
||||||
|
0.8264574408531189,
|
||||||
|
-0.5020735263824463,
|
||||||
|
-0.4874092042446137,
|
||||||
|
0.6007202863693237,
|
||||||
|
-0.4965405762195587,
|
||||||
|
1.1302915811538696,
|
||||||
|
0.032572727650403976,
|
||||||
|
-0.3731859028339386,
|
||||||
|
0.658271849155426,
|
||||||
|
-0.9023059010505676,
|
||||||
|
0.7400162220001221,
|
||||||
|
0.014550759457051754,
|
||||||
|
-0.19699542224407196,
|
||||||
|
0.2319706380367279,
|
||||||
|
-0.789058268070221,
|
||||||
|
-0.14905710518360138,
|
||||||
|
-0.5826214551925659,
|
||||||
|
0.207652747631073,
|
||||||
|
-0.4507439732551574,
|
||||||
|
-0.3163885474205017,
|
||||||
|
0.3604124188423157,
|
||||||
|
-0.45119962096214294,
|
||||||
|
0.3428427278995514,
|
||||||
|
0.3005594313144684,
|
||||||
|
-0.36026081442832947,
|
||||||
|
1.1014249324798584,
|
||||||
|
0.40884315967559814,
|
||||||
|
0.34991952776908875,
|
||||||
|
-0.1806638240814209,
|
||||||
|
0.27440476417541504,
|
||||||
|
-0.7118373513221741,
|
||||||
|
0.4645499587059021,
|
||||||
|
0.214790478348732,
|
||||||
|
-0.2343102991580963,
|
||||||
|
0.10500429570674896,
|
||||||
|
-0.28034430742263794,
|
||||||
|
1.2267805337905884,
|
||||||
|
1.0561333894729614,
|
||||||
|
-0.497364342212677,
|
||||||
|
-0.6143305897712708,
|
||||||
|
0.24963727593421936,
|
||||||
|
-0.33136463165283203,
|
||||||
|
-0.01473914459347725,
|
||||||
|
0.495918869972229,
|
||||||
|
-0.6985538005828857,
|
||||||
|
-1.0033197402954102,
|
||||||
|
0.35937801003456116,
|
||||||
|
0.6325868368148804,
|
||||||
|
-0.6808838844299316,
|
||||||
|
1.0354058742523191,
|
||||||
|
-0.7214401960372925,
|
||||||
|
-0.33318862318992615,
|
||||||
|
0.874398410320282,
|
||||||
|
-0.6594992280006409,
|
||||||
|
0.6830640435218811,
|
||||||
|
-0.18534131348133087,
|
||||||
|
0.024834271520376205,
|
||||||
|
0.19901277124881744,
|
||||||
|
-0.5992477536201477,
|
||||||
|
-1.2126628160476685,
|
||||||
|
-0.9245557188987732,
|
||||||
|
-0.3898217976093292,
|
||||||
|
-0.1286519467830658,
|
||||||
|
0.4217943847179413,
|
||||||
|
-0.1143646091222763,
|
||||||
|
0.5630772709846497,
|
||||||
|
-0.5240639448165894,
|
||||||
|
0.21152715384960177,
|
||||||
|
-0.3792001008987427,
|
||||||
|
0.8266305327415466,
|
||||||
|
1.170984387397766,
|
||||||
|
-0.8072142004966736,
|
||||||
|
0.11382893472909927,
|
||||||
|
-0.17953898012638092,
|
||||||
|
-0.1789460331201553,
|
||||||
|
-0.15078622102737427,
|
||||||
|
-1.2082908153533936,
|
||||||
|
-0.7812382578849792,
|
||||||
|
-0.10903695970773696,
|
||||||
|
0.7303897142410278,
|
||||||
|
-0.39054441452026367,
|
||||||
|
0.19511254131793976,
|
||||||
|
-0.09121843427419662,
|
||||||
|
0.22400228679180145,
|
||||||
|
0.30143046379089355,
|
||||||
|
0.1141919493675232,
|
||||||
|
0.48112115263938904,
|
||||||
|
0.7307931780815125,
|
||||||
|
0.09701362252235413,
|
||||||
|
-0.2795647978782654,
|
||||||
|
-0.3997688889503479,
|
||||||
|
0.5540812611579895,
|
||||||
|
0.564578115940094,
|
||||||
|
-0.40065160393714905,
|
||||||
|
-0.3629159033298493,
|
||||||
|
-0.3789091110229492,
|
||||||
|
-0.7298538088798523,
|
||||||
|
-0.6996853351593018,
|
||||||
|
-0.4477842152118683,
|
||||||
|
-0.289089560508728,
|
||||||
|
-0.6430277824401855,
|
||||||
|
0.2344944179058075,
|
||||||
|
0.3742927014827728,
|
||||||
|
-0.5079357028007507,
|
||||||
|
0.28841453790664673,
|
||||||
|
0.06515737622976303,
|
||||||
|
0.707315981388092,
|
||||||
|
0.09498685598373412,
|
||||||
|
0.8365515470504761,
|
||||||
|
0.10002726316452026,
|
||||||
|
-0.7695478200912476,
|
||||||
|
0.6264724135398865,
|
||||||
|
0.7562043070793152,
|
||||||
|
-0.23112858831882477,
|
||||||
|
-0.2871039807796478,
|
||||||
|
-0.25010058283805847,
|
||||||
|
0.2783474028110504,
|
||||||
|
-0.03224996477365494,
|
||||||
|
-0.9119359850883484,
|
||||||
|
-3.6940200328826904,
|
||||||
|
-0.5099936127662659,
|
||||||
|
-0.1604711413383484,
|
||||||
|
0.17453284561634064,
|
||||||
|
0.41759559512138367,
|
||||||
|
0.1419190913438797,
|
||||||
|
-0.11362407356500626,
|
||||||
|
-0.33312007784843445,
|
||||||
|
0.11511333286762238,
|
||||||
|
0.4667884409427643,
|
||||||
|
-0.0031647447030991316,
|
||||||
|
0.15879854559898376,
|
||||||
|
0.3042248487472534,
|
||||||
|
0.5404849052429199,
|
||||||
|
0.8515422344207764,
|
||||||
|
0.06286454200744629,
|
||||||
|
0.43790125846862793,
|
||||||
|
-0.8682025074958801,
|
||||||
|
-0.06363756954669952,
|
||||||
|
0.5547921657562256,
|
||||||
|
-0.01483887154608965,
|
||||||
|
-0.07361344993114471,
|
||||||
|
-0.929947018623352,
|
||||||
|
0.3502565622329712,
|
||||||
|
-0.5080993175506592,
|
||||||
|
1.0380364656448364,
|
||||||
|
-0.2017953395843506,
|
||||||
|
0.21319580078125,
|
||||||
|
-1.0763001441955566,
|
||||||
|
-0.556368887424469,
|
||||||
|
0.1949922740459442,
|
||||||
|
-0.6445739269256592,
|
||||||
|
0.6791343688964844,
|
||||||
|
0.21188358962535855,
|
||||||
|
0.3736183941364288,
|
||||||
|
-0.21800459921360016,
|
||||||
|
0.7597446441650391,
|
||||||
|
-0.3732394874095917,
|
||||||
|
-0.4710160195827484,
|
||||||
|
0.025146087631583217,
|
||||||
|
0.05341297015547752,
|
||||||
|
-0.9522109627723694,
|
||||||
|
-0.6000866889953613,
|
||||||
|
-0.08469046652317047,
|
||||||
|
0.5966026186943054,
|
||||||
|
0.3444081246852875,
|
||||||
|
-0.461188405752182,
|
||||||
|
-0.5279349088668823,
|
||||||
|
0.10296865552663804,
|
||||||
|
0.5175143480300903,
|
||||||
|
-0.20671147108078003,
|
||||||
|
0.13392412662506104,
|
||||||
|
0.4812754988670349,
|
||||||
|
0.2993808686733246,
|
||||||
|
-0.3005635440349579,
|
||||||
|
0.5141698122024536,
|
||||||
|
-0.6239235401153564,
|
||||||
|
0.2877119481563568,
|
||||||
|
-0.4452739953994751,
|
||||||
|
0.5621107816696167,
|
||||||
|
0.5047508478164673,
|
||||||
|
-0.4226335883140564,
|
||||||
|
-0.18578553199768064,
|
||||||
|
-1.1967322826385498,
|
||||||
|
0.28178197145462036,
|
||||||
|
-0.8692031502723694,
|
||||||
|
-1.1812998056411743,
|
||||||
|
-1.4526212215423584,
|
||||||
|
0.4645712077617645,
|
||||||
|
0.9327932000160216,
|
||||||
|
-0.6560136675834656,
|
||||||
|
0.461549699306488,
|
||||||
|
-0.5621527433395386,
|
||||||
|
-1.328449010848999,
|
||||||
|
-0.08676894754171371,
|
||||||
|
0.00021918353741057217,
|
||||||
|
-0.18864136934280396,
|
||||||
|
0.1259666532278061,
|
||||||
|
0.18240638077259064,
|
||||||
|
-0.14919660985469818,
|
||||||
|
-0.8965857625007629,
|
||||||
|
-0.7539900541305542,
|
||||||
|
0.013973715715110302,
|
||||||
|
0.504276692867279,
|
||||||
|
-0.704748272895813,
|
||||||
|
-0.6428424119949341,
|
||||||
|
0.6303996443748474,
|
||||||
|
-0.5404738187789917,
|
||||||
|
-0.31176653504371643,
|
||||||
|
-0.21262824535369873,
|
||||||
|
0.18736739456653595,
|
||||||
|
-0.7998970746994019,
|
||||||
|
0.039946746081113815,
|
||||||
|
0.7390344738960266,
|
||||||
|
0.4283199906349182,
|
||||||
|
0.3795057237148285,
|
||||||
|
0.07204607129096985,
|
||||||
|
-0.9230587482452391,
|
||||||
|
0.9440426230430604,
|
||||||
|
0.26272690296173096,
|
||||||
|
0.5598306655883789,
|
||||||
|
-1.0520871877670288,
|
||||||
|
-0.2677186131477356,
|
||||||
|
-0.1888762265443802,
|
||||||
|
0.30426350235939026,
|
||||||
|
0.4746131896972656,
|
||||||
|
-0.5746733546257019,
|
||||||
|
-0.4197768568992615,
|
||||||
|
0.8565112948417664,
|
||||||
|
-0.6767723560333252,
|
||||||
|
0.23448683321475983,
|
||||||
|
-0.2010004222393036,
|
||||||
|
0.4112907350063324,
|
||||||
|
-0.6497949957847595,
|
||||||
|
-0.418667733669281,
|
||||||
|
-0.4950824975967407,
|
||||||
|
0.44438859820365906,
|
||||||
|
1.026281714439392,
|
||||||
|
0.482397586107254,
|
||||||
|
-0.26220494508743286,
|
||||||
|
-0.3640787005424499,
|
||||||
|
0.5907743573188782,
|
||||||
|
-0.8771642446517944,
|
||||||
|
0.09708411991596222,
|
||||||
|
-0.3671700060367584,
|
||||||
|
0.4331349730491638,
|
||||||
|
0.619417667388916,
|
||||||
|
-0.2684665620326996,
|
||||||
|
-0.5123821496963501,
|
||||||
|
-0.1502324342727661,
|
||||||
|
-0.012190685607492924,
|
||||||
|
0.3580845892429352,
|
||||||
|
0.8617186546325684,
|
||||||
|
0.3493645489215851,
|
||||||
|
1.0270192623138428,
|
||||||
|
0.18297909200191495,
|
||||||
|
-0.5881339311599731,
|
||||||
|
-0.1733516901731491,
|
||||||
|
-0.5040576457977295,
|
||||||
|
-0.340370237827301,
|
||||||
|
-0.26767754554748535,
|
||||||
|
-0.28570041060447693,
|
||||||
|
-0.032928116619586945,
|
||||||
|
0.6029254794120789,
|
||||||
|
0.17397655546665192,
|
||||||
|
0.09346921741962431,
|
||||||
|
0.27815181016921997,
|
||||||
|
-0.46699589490890503,
|
||||||
|
-0.8148876428604126,
|
||||||
|
-0.3964351713657379,
|
||||||
|
0.3812595009803772,
|
||||||
|
0.13547226786613464,
|
||||||
|
0.7126688361167908,
|
||||||
|
-0.3473474085330963,
|
||||||
|
-0.06573959439992905,
|
||||||
|
-0.6483767032623291,
|
||||||
|
1.4808889627456665,
|
||||||
|
0.30924928188323975,
|
||||||
|
-0.5085946917533875,
|
||||||
|
-0.8613000512123108,
|
||||||
|
0.3048902451992035,
|
||||||
|
-0.4241599142551422,
|
||||||
|
0.15909206867218018,
|
||||||
|
0.5764641761779785,
|
||||||
|
-0.07879110425710678,
|
||||||
|
1.015336513519287,
|
||||||
|
0.07599356025457382,
|
||||||
|
-0.7025855779647827,
|
||||||
|
0.30047643184661865,
|
||||||
|
-0.35094937682151794,
|
||||||
|
0.2522146999835968,
|
||||||
|
-0.2338722199201584,
|
||||||
|
-0.8326804637908936,
|
||||||
|
-0.13695412874221802,
|
||||||
|
-0.03452421352267265,
|
||||||
|
0.47974953055381775,
|
||||||
|
-0.18385636806488037,
|
||||||
|
0.32438594102859497,
|
||||||
|
0.1797013282775879,
|
||||||
|
0.787494957447052,
|
||||||
|
-0.12579888105392456,
|
||||||
|
-0.07507286965847015,
|
||||||
|
-0.4389670491218567,
|
||||||
|
0.2720070779323578,
|
||||||
|
0.8138866424560547,
|
||||||
|
0.01974171027541161,
|
||||||
|
-0.3057698905467987,
|
||||||
|
-0.6709924936294556,
|
||||||
|
0.0885881632566452,
|
||||||
|
-0.2862754464149475,
|
||||||
|
0.03475658595561981,
|
||||||
|
-0.1285519152879715,
|
||||||
|
0.3838353455066681,
|
||||||
|
-0.2944154739379883,
|
||||||
|
-0.4204859137535095,
|
||||||
|
-0.4416137933731079,
|
||||||
|
0.13426260650157928,
|
||||||
|
0.36733248829841614,
|
||||||
|
0.573428750038147,
|
||||||
|
-0.14928072690963745,
|
||||||
|
-0.026076916605234143,
|
||||||
|
0.33286052942276,
|
||||||
|
-0.5340145826339722,
|
||||||
|
-0.17279052734375,
|
||||||
|
-0.01154550164937973,
|
||||||
|
-0.6620771884918213,
|
||||||
|
0.18390542268753052,
|
||||||
|
-0.08265615254640579,
|
||||||
|
-0.2489682286977768,
|
||||||
|
0.2429984211921692,
|
||||||
|
-0.044153645634651184,
|
||||||
|
-0.986578404903412,
|
||||||
|
-0.33574509620666504,
|
||||||
|
-0.5387663841247559,
|
||||||
|
0.19767941534519196,
|
||||||
|
0.12540718913078308,
|
||||||
|
-0.3403128981590271,
|
||||||
|
-0.4154576361179352,
|
||||||
|
0.17275673151016235,
|
||||||
|
0.09407442808151244,
|
||||||
|
-0.5414086580276489,
|
||||||
|
0.4393929839134216,
|
||||||
|
0.1725579798221588,
|
||||||
|
-0.4998118281364441,
|
||||||
|
-0.6926208138465881,
|
||||||
|
0.16552448272705078,
|
||||||
|
0.6659538149833679,
|
||||||
|
-0.10949844866991044,
|
||||||
|
0.986426830291748,
|
||||||
|
0.01748848147690296,
|
||||||
|
0.4003709554672241,
|
||||||
|
-0.5430638194084167,
|
||||||
|
0.35347291827201843,
|
||||||
|
0.6887399554252625,
|
||||||
|
0.08274628221988678,
|
||||||
|
0.13407137989997864,
|
||||||
|
-0.591465950012207,
|
||||||
|
0.3446292281150818,
|
||||||
|
0.6069018244743347,
|
||||||
|
0.1935492902994156,
|
||||||
|
-0.0989871397614479,
|
||||||
|
0.07008486241102219,
|
||||||
|
-0.8503749370574951,
|
||||||
|
-0.09507356584072112,
|
||||||
|
0.6259510517120361,
|
||||||
|
0.13934025168418884,
|
||||||
|
0.06392545253038406,
|
||||||
|
-0.4112265408039093,
|
||||||
|
-0.08475656062364578,
|
||||||
|
0.4974113404750824,
|
||||||
|
-0.30606114864349365,
|
||||||
|
1.111435890197754,
|
||||||
|
-0.018766529858112335,
|
||||||
|
-0.8422622680664063,
|
||||||
|
0.4325508773326874,
|
||||||
|
-0.2832120656967163,
|
||||||
|
-0.4859798848628998,
|
||||||
|
-0.41498348116874695,
|
||||||
|
0.015977520495653152,
|
||||||
|
0.5292825698852539,
|
||||||
|
0.4538311660289765,
|
||||||
|
1.1328668594360352,
|
||||||
|
0.22632671892642975,
|
||||||
|
0.7918671369552612,
|
||||||
|
0.33401933312416077,
|
||||||
|
0.7306135296821594,
|
||||||
|
0.3548600673675537,
|
||||||
|
0.12506209313869476,
|
||||||
|
0.8573207855224609,
|
||||||
|
-0.5818327069282532,
|
||||||
|
-0.6953738927841187,
|
||||||
|
-1.6171947717666626,
|
||||||
|
-0.1699674427509308,
|
||||||
|
0.6318262815475464,
|
||||||
|
-0.05671752244234085,
|
||||||
|
-0.28145185112953186,
|
||||||
|
-0.3976689279079437,
|
||||||
|
-0.2041076272726059,
|
||||||
|
-0.5495951175689697,
|
||||||
|
-0.5152917504310608,
|
||||||
|
-0.9309796094894408,
|
||||||
|
0.101932130753994,
|
||||||
|
0.1367802917957306,
|
||||||
|
0.1490798443555832,
|
||||||
|
0.5304336547851563,
|
||||||
|
-0.5082434415817261,
|
||||||
|
0.06688683480024338,
|
||||||
|
0.14657628536224365,
|
||||||
|
-0.782435953617096,
|
||||||
|
0.2962816655635834,
|
||||||
|
0.6965363621711731,
|
||||||
|
0.8496337532997131,
|
||||||
|
-0.3042965829372406,
|
||||||
|
0.04343798756599426,
|
||||||
|
0.0330701619386673,
|
||||||
|
-0.5662598013877869,
|
||||||
|
1.1086925268173218,
|
||||||
|
0.756072998046875,
|
||||||
|
-0.204134538769722,
|
||||||
|
0.2404300570487976,
|
||||||
|
-0.47848284244537354,
|
||||||
|
1.3659011125564575,
|
||||||
|
0.5645433068275452,
|
||||||
|
-0.15836156904697418,
|
||||||
|
0.43395575881004333,
|
||||||
|
0.5944653749465942,
|
||||||
|
1.0043466091156006,
|
||||||
|
-0.49446743726730347,
|
||||||
|
-0.5954391360282898,
|
||||||
|
0.5341240763664246,
|
||||||
|
0.020598189905285835,
|
||||||
|
-0.4036853015422821,
|
||||||
|
0.4473709762096405,
|
||||||
|
1.1998231410980225,
|
||||||
|
-0.9317775368690492,
|
||||||
|
-0.23321466147899628,
|
||||||
|
0.2052552700042725,
|
||||||
|
-0.7423108816146851,
|
||||||
|
-0.19917210936546328,
|
||||||
|
-0.1722569614648819,
|
||||||
|
-0.034072667360305786,
|
||||||
|
-0.00671181408688426,
|
||||||
|
0.46396249532699585,
|
||||||
|
-0.1372445821762085,
|
||||||
|
0.053376372903585434,
|
||||||
|
0.7392690777778625,
|
||||||
|
-0.38447609543800354,
|
||||||
|
0.07497968524694443,
|
||||||
|
0.5197252631187439,
|
||||||
|
1.3746477365493774,
|
||||||
|
0.9060075879096984,
|
||||||
|
0.20000585913658145,
|
||||||
|
-0.4053704142570496,
|
||||||
|
0.7497360110282898,
|
||||||
|
-0.34087055921554565,
|
||||||
|
-1.101803183555603,
|
||||||
|
0.273650586605072,
|
||||||
|
-0.5125769376754761,
|
||||||
|
0.22472351789474487,
|
||||||
|
0.480757474899292,
|
||||||
|
-0.19845178723335263,
|
||||||
|
0.8857700824737549,
|
||||||
|
0.30752456188201904,
|
||||||
|
1.1109285354614258,
|
||||||
|
-0.6768012642860413,
|
||||||
|
0.524367094039917,
|
||||||
|
-0.22495046257972717,
|
||||||
|
-0.4224412739276886,
|
||||||
|
0.40753406286239624,
|
||||||
|
-0.23133376240730288,
|
||||||
|
0.3297771215438843,
|
||||||
|
0.4905449151992798,
|
||||||
|
-0.6813114285469055,
|
||||||
|
-0.7543983459472656,
|
||||||
|
-0.5599071383476257,
|
||||||
|
0.14351597428321838,
|
||||||
|
-0.029278717935085297,
|
||||||
|
-0.3970443606376648,
|
||||||
|
-0.303079217672348,
|
||||||
|
0.24161772429943085,
|
||||||
|
0.008353390730917454,
|
||||||
|
-0.0062365154735744,
|
||||||
|
1.0824860334396362,
|
||||||
|
-0.3704061508178711,
|
||||||
|
-1.0337258577346802,
|
||||||
|
0.04638749733567238,
|
||||||
|
1.163011074066162,
|
||||||
|
-0.31737643480300903,
|
||||||
|
0.013986887410283089,
|
||||||
|
0.19223114848136905,
|
||||||
|
-0.2260770797729492,
|
||||||
|
-0.210910826921463,
|
||||||
|
-1.0191949605941772,
|
||||||
|
0.22356095910072327,
|
||||||
|
0.09353553503751756,
|
||||||
|
0.18096882104873657,
|
||||||
|
0.14867214858531952,
|
||||||
|
0.43408671021461487,
|
||||||
|
-0.33312076330184937,
|
||||||
|
0.8173948526382446,
|
||||||
|
0.6428242921829224,
|
||||||
|
0.20215003192424777,
|
||||||
|
-0.6634518504142761,
|
||||||
|
-0.4132290482521057,
|
||||||
|
0.29815030097961426,
|
||||||
|
-1.579406976699829,
|
||||||
|
-0.0981958732008934,
|
||||||
|
-0.03941014781594277,
|
||||||
|
0.1709178239107132,
|
||||||
|
-0.5481140613555908,
|
||||||
|
-0.5338194966316223,
|
||||||
|
-0.3528362512588501,
|
||||||
|
-0.11561278253793716,
|
||||||
|
-0.21793591976165771,
|
||||||
|
-1.1570470333099363,
|
||||||
|
0.2157980799674988,
|
||||||
|
0.42083489894866943,
|
||||||
|
0.9639263153076172,
|
||||||
|
0.09747201204299928,
|
||||||
|
0.15671424567699432,
|
||||||
|
0.4034591615200043,
|
||||||
|
0.6728067994117737,
|
||||||
|
-0.5216875672340393,
|
||||||
|
0.09657668322324751,
|
||||||
|
-0.2416689097881317,
|
||||||
|
0.747975766658783,
|
||||||
|
0.1021689772605896,
|
||||||
|
0.11652665585279463,
|
||||||
|
-1.0484966039657593,
|
||||||
|
0.8489304780960083,
|
||||||
|
0.7169828414916992,
|
||||||
|
-0.09012343734502792,
|
||||||
|
-1.3173753023147583,
|
||||||
|
0.057890523225069046,
|
||||||
|
-0.006231260951608419,
|
||||||
|
-0.1018214002251625,
|
||||||
|
0.936040461063385,
|
||||||
|
-0.0502331368625164,
|
||||||
|
-0.4284322261810303,
|
||||||
|
-0.38209280371665955,
|
||||||
|
-0.22668412327766416,
|
||||||
|
0.0782942995429039,
|
||||||
|
-0.4881664514541626,
|
||||||
|
0.9268959760665894,
|
||||||
|
0.001867273123934865,
|
||||||
|
0.42261114716529846,
|
||||||
|
0.8283362984657288,
|
||||||
|
0.4256294071674347,
|
||||||
|
-0.7965338826179504,
|
||||||
|
0.4840078353881836,
|
||||||
|
-0.19861412048339844,
|
||||||
|
0.33977967500686646,
|
||||||
|
-0.4604192078113556,
|
||||||
|
-0.3107339143753052,
|
||||||
|
-0.2839638590812683,
|
||||||
|
-1.5734281539916992,
|
||||||
|
0.005220232997089624,
|
||||||
|
0.09239906817674635,
|
||||||
|
-0.7828494906425476,
|
||||||
|
-0.1397123783826828,
|
||||||
|
0.2576255202293396,
|
||||||
|
0.21372435986995697,
|
||||||
|
-0.23169949650764465,
|
||||||
|
0.4016408920288086,
|
||||||
|
-0.462497353553772,
|
||||||
|
-0.2186472862958908,
|
||||||
|
-0.5617868900299072,
|
||||||
|
-0.3649831712245941,
|
||||||
|
-1.1585862636566162,
|
||||||
|
-0.08222806453704834,
|
||||||
|
0.931126832962036,
|
||||||
|
0.4327389597892761,
|
||||||
|
-0.46451422572135925,
|
||||||
|
-0.5430706143379211,
|
||||||
|
-0.27434298396110535,
|
||||||
|
-0.9479129314422609,
|
||||||
|
0.1845661848783493,
|
||||||
|
0.3972720205783844,
|
||||||
|
0.4883299469947815,
|
||||||
|
1.04031240940094
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"regenerate": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,780 @@
|
|||||||
|
---
|
||||||
|
source: dump/src/reader/mod.rs
|
||||||
|
expression: document
|
||||||
|
---
|
||||||
|
{
|
||||||
|
"id": "e0",
|
||||||
|
"desc": "overriden vector",
|
||||||
|
"_vectors": {
|
||||||
|
"default": [
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1,
|
||||||
|
0.1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user