148 Commits

Author SHA1 Message Date
Clément Renault
d36a8abbc2
test: Add examples usages 2018-12-10 15:13:25 +01:00
Clément Renault
d8cfac914a
feat: Implement a better automaton builder
This new implementation only allows the last word of a query string to be a prefix.
2018-12-10 12:16:24 +01:00
Clément Renault
916b46c839
feat: Allow dumping the database, useful for full snapshot 2018-12-10 11:09:09 +01:00
Clément Renault
0f8ae5a8bc
chore: Rename the library "MeiliDB" 🎉 2018-12-10 00:41:31 +01:00
Clément Renault
012d24947c
doc: Update the deep-dive to talk about the key-value store 2018-12-10 00:33:14 +01:00
Clément Renault
550dc1e992
chore: Rename the library "meili-core" 🎉 2018-12-09 15:00:28 +01:00
Clément Renault
6cb1bfd815
feat: Use sdset Set primitives everywhere possible 2018-12-09 14:18:23 +01:00
Clément Renault
06ba82cfa8
feat: Database holds a DatabaseView and sync update ingestions 2018-12-09 13:42:56 +01:00
Clément Renault
0e825e05bb
feat: Make the DatabaseView become Sync + Send 2018-12-07 17:59:03 +01:00
Clément Renault
bec463a61a
fix: Update the DatabaseView to retrieve the index at creation
remove this computation from the QueryBuilder
2018-12-07 16:29:39 +01:00
Clément Renault
7c98771068
fix: Change the way the iterator upper bound is computed 2018-12-07 15:35:59 +01:00
Clément Renault
4626c77eac
fix: Change the way the BTreeMap store entries 2018-12-07 15:12:15 +01:00
Clément Renault
9342290afe
feat: Simplify the steps to query the database 2018-12-07 14:41:06 +01:00
Clément Renault
8bee31078d
chore: Update the module hierarchy 2018-12-07 12:22:51 +01:00
Clément Renault
2c3d71dd8f
fix: Improve the bucket sort algorithm 2018-12-07 11:53:17 +01:00
Clément Renault
731ed11153
feat: Index and store/serialize attributes while creating the update 2018-12-07 11:32:27 +01:00
Clément Renault
442834c28f
chore: Remove the MapSerializer temporarily 2018-12-06 17:23:01 +01:00
Clément Renault
b2cec98805
feat: Implemented a basic deserialiazation 2018-12-06 17:22:54 +01:00
Clément Renault
2a35d72fe2
feat: Add the "i128" feature flag to allow some i128 support 2018-12-06 17:22:26 +01:00
Clément Renault
a7f205005d
feat: Add the "sse" feature flag to allow some RocksDB optimisations 2018-12-06 17:22:25 +01:00
Clément Renault
6c7a6c5219
feat: Implement DoubleEnded/ExactSizeIterator on DocumentIter 2018-12-06 17:22:25 +01:00
Clément Renault
6f8dbbde9a
feat: Implement the create/open/ingest_file Database methods 2018-12-06 17:22:20 +01:00
Clément Renault
42b0cf68eb
feat: Move the database Deserializer in its own module 2018-12-06 17:22:19 +01:00
Clément Renault
a5b80c72ae
feat: Move the DatabaseView in its own module 2018-12-06 17:22:19 +01:00
Clément Renault
8563c25d62
feat: Move DocumentKey/Attr to their own module 2018-12-06 17:22:19 +01:00
Clément Renault
3d0b334942
feat: Introduce the DocumentKey and DocumentKeyAttr structs 2018-12-06 17:22:07 +01:00
Clément Renault
700d625c93
feat: Introduce the Database and DatabaseView 2018-12-06 17:20:14 +01:00
Clément Renault
e559f7130c
feat: Replace the fnv hashmap by the hashbrown one 2018-12-02 13:11:02 +01:00
Clément Renault
51cc69342f
feat: Compacting "data-index" to avoid calling the merge operator 2018-12-02 13:06:07 +01:00
Clément Renault
0680f8f4cd
chore: Improve the gitignore 2018-12-02 12:43:48 +01:00
Clément Renault
c8aee7ed7a
fix: Make the merge operator work 2018-12-02 12:00:49 +01:00
Clément Renault
9a67db0989
test: Add some tests to DocIndexes 2018-12-02 12:00:49 +01:00
Clément Renault
5829d08bc0
chore: Avoid using the external library Itertools 2018-12-02 12:00:49 +01:00
Clément Renault
2719f1ad3b
feat: Introduce the PositiveUpdate 2018-12-02 12:00:49 +01:00
Clément Renault
8b2a8da8fa
feat: Remove the PositiveBlobBuilder 2018-12-02 12:00:49 +01:00
Clément Renault
ec5d17e8c2
feat: Implement the PositiveUpdate 2018-12-02 12:00:48 +01:00
Clément Renault
af791db23d
feat: Use the blob::OpBuilder to merge "data-index" blobs 2018-12-02 12:00:48 +01:00
Clément Renault
612a8d9d44
feat: Make the OpBuilder work only for PositiveBlob 2018-12-02 12:00:48 +01:00
Clément Renault
9b58ffe2d9
feat: Introduce the QueryBuilder struct 2018-12-02 12:00:37 +01:00
Clément Renault
b636e5fe57
feat: Introduce the "data-index" entry with merge compaction 2018-12-02 12:00:30 +01:00
Clément Renault
0e856db4e6
feat: Implement De/Serialize on Blob 2018-12-02 12:00:30 +01:00
Clément Renault
a43a772e9a
feat: Introduce typed keys constructors 2018-12-02 12:00:29 +01:00
Clément Renault
66dac923bf
feat: Introduce a working key-value based database 2018-12-02 12:00:29 +01:00
Clément Renault
86f23d2695
feat: Save the schema in the key-value store 2018-12-02 12:00:29 +01:00
Clément Renault
8df068af3c
feat: Introduce the Schema 2018-12-02 12:00:29 +01:00
Clément Renault
7c1a17520d
feat: Introduce the index module 2018-12-02 12:00:29 +01:00
Clément Renault
b3249d515d
feat: Introduce an Index system based on RocksDB 2018-12-02 12:00:29 +01:00
Clément Renault
cc52d5dda5
feat: Working on ops for Positive and Negative blobs 2018-12-02 11:59:48 +01:00
Clément Renault
34b43d4002
test: Add some more tests 2018-12-02 11:59:48 +01:00
Clément Renault
e68e6056c3 doc: Add a deep dive in Pentium 2018-10-21 18:21:04 +02:00