Commit Graph

570 Commits

Author SHA1 Message Date
183d3dada7 return document count from builder 2021-10-28 10:33:04 +02:00
d7943fe225 Merge #402
402: Optimize document transform r=MarinPostma a=MarinPostma

This pr optimizes the transform of documents additions in the obkv format. Instead on accepting any serializable objects, we instead treat json and CSV specifically:
- For json, we build a serde `Visitor`, that transform the json straight into obkv without intermediate representation.
- For csv, we directly write the lines in the obkv, applying other optimization as well.

Co-authored-by: marin postma <postma.marin@protonmail.com>
2021-10-26 09:55:28 +00:00
baddd80069 implement review suggestions 2021-10-25 18:29:12 +02:00
f9445c1d90 return float parsing error context in csv 2021-10-25 17:27:10 +02:00
15c29cdd9b Merge #401
401: Update version for the next release (v0.19.0) r=curquiza a=curquiza



Co-authored-by: Clémentine Urquizar <clementine@meilisearch.com>
2021-10-25 12:49:53 +00:00
208903ddde Revert "Replacing pest with nom " 2021-10-25 11:58:00 +02:00
679fe18b17 Update version for the next release (v0.19.0) 2021-10-25 11:52:17 +02:00
3fcccc31b5 add document builder example 2021-10-25 10:26:43 +02:00
430e9b13d3 add csv builder tests 2021-10-25 10:26:43 +02:00
53c79e85f2 document errors 2021-10-25 10:26:43 +02:00
2e62925a6e fix tests 2021-10-25 10:26:42 +02:00
0f86d6b28f implement csv serialization 2021-10-25 10:26:42 +02:00
8d70b01714 optimize document deserialization 2021-10-25 10:26:42 +02:00
f8fe9316c0 Update version for the next release (v0.18.1) 2021-10-21 11:56:14 +02:00
2209acbfe2 Update version for the next release (v0.18.2) 2021-10-18 13:45:48 +02:00
59cc59e93e Merge #358
358: Replacing pest with nom  r=Kerollmops a=CNLHC



Co-authored-by: 刘瀚骋 <cn_lhc@qq.com>
2021-10-16 20:44:38 +00:00
7666e4f34a follow the suggestions 2021-10-14 21:37:59 +08:00
2ea2f7570c use nightly cargo to format the code 2021-10-14 16:46:13 +08:00
e750465e15 check logic for geolocation. 2021-10-14 16:12:00 +08:00
aa5e099718 Merge #390
390: Add helper methods on the settings r=Kerollmops a=irevoire

This would be a good addition to look at the content of a setting without consuming it.
It’s useful for analytics.

Co-authored-by: Irevoire <tamo@meilisearch.com>
2021-10-13 20:36:30 +00:00
c7db4176f3 Merge #384
384: Replace memmap with memmap2 r=Kerollmops a=palfrey

[memmap is unmaintained](https://rustsec.org/advisories/RUSTSEC-2020-0077.html) and needs replacing. memmap2 is a drop-in replacement fork that's well maintained. Note that the version numbers got reset on fork, hence the lower values.

Co-authored-by: Tom Parker-Shemilt <palfrey@tevp.net>
2021-10-13 13:47:23 +00:00
a3e7c468cd add helper methods on the settings 2021-10-13 13:05:07 +02:00
cd359cd96e WIP: extract the error trait bound to new trait. 2021-10-13 18:04:15 +08:00
5de5dd80a3 WIP: remove '_nom' suffix/redundant error enum/... 2021-10-13 11:06:15 +08:00
2c65781d91 format 2021-10-12 22:20:22 +08:00
6e3b869e6a Merge #388
388: fix primary key inference r=MarinPostma a=MarinPostma

The primary key is was infered from a hashtable index of the field. For this reason the order in which the fields were interated upon was not deterministic, and the primary key was chosed ffrom the first field containing "id".

This fix sorts the the index by field_id when infering the primary key.


Co-authored-by: mpostma <postma.marin@protonmail.com>
2021-10-12 09:25:16 +00:00
86ead92ed5 infer primary key on sorted fields 2021-10-12 11:15:11 +02:00
9a266a531b test correct primary key inference 2021-10-12 11:08:53 +02:00
c5a6075484 Make max_position_per_attributes changable 2021-10-12 10:10:50 +02:00
360c5ff3df Remove limit of 1000 position per attribute
Instead of using an arbitrary limit we encode the absolute position in a u32
using one strong u16 for the field id and a weak u16 for the relative position in the attribute.
2021-10-12 10:10:50 +02:00
d323e35001 add a test case 2021-10-12 13:30:40 +08:00
70f576d5d3 error handling 2021-10-12 13:30:40 +08:00
28f9be8d7c support syntax 2021-10-12 13:30:40 +08:00
469d92c569 tweak error handling 2021-10-12 13:30:40 +08:00
7a90a101ee reorganize parser logic 2021-10-12 13:30:40 +08:00
f7796edc7e remove everything about pest 2021-10-12 13:30:40 +08:00
ac1df9d9d7 fix typo and remove pest 2021-10-12 13:30:40 +08:00
50ad750ec1 enhance error handling 2021-10-12 13:30:40 +08:00
8748df2ca4 draft without error handling 2021-10-12 13:30:40 +08:00
07fb6d64e5 Merge #386
386: fix obkv document r=curquiza a=MarinPostma

When serializing a document, the serializer resolved the field_id of the current field and immediately added it to the obkv document under construction. The issue with that is that obkv expects the fields to be inserted in order, and when a document with out of order fields was added, obkv failed to insert the field.

The current fix first resolves each field_id, and adds all the fields to a temporary `BTreeMap`, until `end` is called on the map serializer, where all the fields are added to the obkv at once, and in order.


Co-authored-by: mpostma <postma.marin@protonmail.com>
2021-10-11 13:45:04 +00:00
dd56e82dba Update version for the next release (v0.17.2) 2021-10-11 15:20:35 +02:00
99889a0ed0 add obkv document serialization test 2021-10-11 15:13:17 +02:00
799f3d43c8 fix serialization to obkv format 2021-10-11 15:04:47 +02:00
2dfe24f067 memmap -> memmap2 2021-10-10 22:47:12 +01:00
b65aa7b5ac Apply suggestions from code review
Co-authored-by: Clément Renault <clement@meilisearch.com>
2021-10-07 17:51:52 +02:00
11dfe38761 Update the check on the latitude and longitude
Latitude are not supposed to go beyound 90 degrees or below -90.
The same goes for longitude with 180 or -180.

This was badly implemented in the filters, and was not implemented for the AscDesc rules.
2021-10-07 16:10:43 +02:00
085bc6440c Apply PR comments 2021-10-06 11:12:26 +02:00
1bd15d849b Reduce candidates threshold 2021-10-05 18:52:14 +02:00
ea4bd29d14 Apply PR comments 2021-10-05 17:35:07 +02:00
3296bb243c Simplify word level position DB into a word position DB 2021-10-05 12:15:02 +02:00