Commit Graph

316 Commits

Author SHA1 Message Date
Clément Renault
adacc7977d
Make the Index return default values when value don't exist 2020-10-25 18:30:24 +01:00
Clément Renault
a7a4984175
Introduce the Transform type into the indexing system 2020-10-24 17:06:09 +02:00
Clément Renault
b44b04d25b
Serialize the CSV record values as JSON strings 2020-10-24 14:43:46 +02:00
Clément Renault
656a851830
Introduce the Transform struct transforming CSVs
This allows us to:
  - transform a CSV, a JSON or a JSON lines data type into the same
    Grenad x Obkv streamable data type and creates the new FieldsIdsMap.
  - Extract all the documents user ids in advance to be able to delete
    the existing documents before re-indexing them.
  - Keep the last documents with the same user id avoiding duplicates
    in the same request.
2020-10-24 13:37:38 +02:00
Clément Renault
8d82e37ec0
Introduce the AvailableDocumentsIds iterator 2020-10-23 12:07:01 +02:00
Clément Renault
2a4cd81c86
Add documentation to the Index methods 2020-10-22 15:44:12 +02:00
Clément Renault
566a7c3039
Make the FieldsIdsMap serialization more stable by using a BTreeMap 2020-10-22 14:53:20 +02:00
Clément Renault
9133f38138
Introduce the FieldsIdsMap type 2020-10-22 12:56:35 +02:00
Clément Renault
802e925fd7
Switch to a JSON protocol for the front page 2020-10-21 18:26:29 +02:00
Clément Renault
5caf523fd9
Move the Index to its own module 2020-10-21 15:55:48 +02:00
Clément Renault
2210818114
Introduce the obkv heed codec 2020-10-21 15:51:48 +02:00
Clément Renault
f6eecb855e
Send a basic progressing status to the updates front page 2020-10-21 15:38:28 +02:00
Clément Renault
4eeeccb9cd
Change the UpdateStore to have different processed and pending meta types 2020-10-21 13:52:15 +02:00
Clément Renault
16ab3e02a9
Change the UpdateStore internal meta serializer 2020-10-21 13:42:49 +02:00
Clément Renault
f948a03be2
Optimise the merge functions to avoid allocations 2020-10-20 16:40:50 +02:00
Clément Renault
cde8478388
Replace the panic in the merge function by actual errors 2020-10-20 16:19:07 +02:00
Clément Renault
8ed8abb9df
Introduce an append-only indexing system 2020-10-20 15:00:58 +02:00
Clément Renault
a122d3d466
Export the indexing part into a module 2020-10-20 14:22:09 +02:00
Clément Renault
eb92e72e6c
Updates can send progress update status 2020-10-20 12:28:10 +02:00
Clément Renault
341046c96c
Remove the js map file from the filesize.js script 2020-10-20 12:20:42 +02:00
Clément Renault
3a934b7020
Split the update attributes on the updates front page 2020-10-20 12:19:48 +02:00
Clément Renault
03ca1ff634
Make the updates page interactive 2020-10-20 12:09:38 +02:00
Clément Renault
35c9a3c558
Brodacast the updates infos to every ws clients 2020-10-20 11:19:34 +02:00
Clément Renault
56c3a61d83
Introduce a new updates page 2020-10-19 19:57:15 +02:00
Clément Renault
871222aebd
Introduce some new routes to handle live indexing 2020-10-19 16:06:43 +02:00
Clément Renault
d3145be744
Rename the meta UpdateStore method 2020-10-19 14:00:00 +02:00
Clément Renault
8bfa43f9a7
Update the iter_metas UpdateStore method 2020-10-19 13:58:08 +02:00
Clément Renault
65e32fecb1
Move the binaries into one with subcommands 2020-10-19 13:44:17 +02:00
Clément Renault
ff389f1270
Update heed-types to 0.7.1 2020-10-19 11:52:59 +02:00
Clément Renault
5b4eda670b
Add two tests for the UpdateStore 2020-10-18 18:55:09 +02:00
Clément Renault
edb8c99fbe
Introduce a method to get the meta of an update on the UpdateStore 2020-10-18 17:19:04 +02:00
Clément Renault
eca49e3a03
Introduce a notification channel for the UpdateStore 2020-10-18 16:37:37 +02:00
Clément Renault
83c1db8763
Introduce the UpdateStore 2020-10-18 15:26:57 +02:00
Clément Renault
90d4c1d153
Simplify the words pair proximity computation 2020-10-15 16:18:43 +02:00
Clément Renault
9021b2dba6
Introduce the enable-chunk-fusing flag 2020-10-14 18:44:59 +02:00
Kerollmops
f980422c57
Move from oxidized-mtbl to grenad 2020-10-14 12:47:32 +02:00
Clément Renault
b342a86c15
Divide the max-memory parameter by the number of sorters in the store 2020-10-08 17:27:53 +02:00
Kerollmops
fb2c402ae1
Split the max-memory by the number of jobs 2020-10-07 14:23:22 +02:00
Kerollmops
38820bc75c
Improve and simplify the query tokenizer 2020-10-07 14:23:22 +02:00
Kerollmops
4e9bd1fef5
Bump oxidized-mtbl 2020-10-07 14:23:22 +02:00
Kerollmops
a00f5850ee
Add support for placeholder search for empty queries 2020-10-06 20:19:50 +02:00
Kerollmops
433d9bbc6e
Use CompressionType::from_str rather than a custom function 2020-10-06 13:50:34 +02:00
Kerollmops
4b819457c9
Enable the strucopt/clap warp help feature 2020-10-06 13:06:22 +02:00
Clément Renault
a2182e68a6
Rewrite the parallel merge indexing part 2020-10-05 20:54:06 +02:00
Kerollmops
e9e03259c1
Improve the mDFS performance and return the proximity 2020-10-05 18:13:56 +02:00
Kerollmops
bb15f16d8c
Merge other databases content while writing into LMDB at the same time 2020-10-05 16:35:10 +02:00
Clément Renault
9af946a306
Merging the main, word docids and words pairs proximity docids in parallel 2020-10-04 18:40:34 +02:00
Clément Renault
99705deb7d
Directly use a writer for the docid word positions 2020-10-04 18:17:53 +02:00
Clément Renault
67577a3760
It is an error to merge docid word positions 2020-10-04 17:31:12 +02:00
Clément Renault
ce8e56ee18
Rewrite the indexer to use one MTBL by database
This allows us to avoid prefixing keys and appending into LMDB databases
2020-10-04 17:04:33 +02:00