Commit Graph

395 Commits

Author SHA1 Message Date
Kerollmops
68f4af7d2e
Improve the display of the number of processed documents 2020-09-29 16:08:58 +02:00
Kerollmops
59a127d022
Improve the indexing process
We now store the words pairs proximity in a cache and only compute the
shortest proximity between pairs of words in a document.
2020-09-29 15:09:18 +02:00
Kerollmops
6ddb3e722c
Depth-first search cache the docids unions 2020-09-28 16:55:21 +02:00
Kerollmops
a3821a0b33
Introduce the depth_first_search path resolution function 2020-09-28 16:34:12 +02:00
Kerollmops
51c237f9d8
Fix the benchmarks compilation 2020-09-28 13:39:17 +02:00
Clément Renault
d8354f6f02
Fix the word_docids capacity limit detection 2020-09-27 11:52:05 +02:00
Clément Renault
25b2853b70
Move the words pairs proximities compute into the write document function 2020-09-23 15:02:40 +02:00
Clément Renault
ed05999f63
Replace the arc cache by a simple linked hash map 2020-09-23 14:50:52 +02:00
Clément Renault
4d22d80281
Display only the key on heed error 2020-09-23 14:13:51 +02:00
Clément Renault
5178b3d59d
Make the search system be aware of query words typos 2020-09-23 12:01:39 +02:00
Clément Renault
b597a92487
Add a default max-memory value to the indexer 2020-09-23 12:00:36 +02:00
Clément Renault
1f6e00878d
Use the words pair proximities in the search algorithm 2020-09-22 18:47:55 +02:00
Clément Renault
31224a8425
Index the word pair proximities for both orders of the pair 2020-09-22 14:49:22 +02:00
Clément Renault
a58ae5eb2a
Introduce the word-pair-proximities-docids infos subcommand 2020-09-22 14:04:34 +02:00
Clément Renault
d6fa9c0414
Index the intra documents word pair proximities 2020-09-22 14:04:33 +02:00
Clément Renault
7b67ae6972
Introduce the StrStrU8 heed codec 2020-09-22 12:44:17 +02:00
Clément Renault
e34437b2d7
Move the proximity function to a module 2020-09-22 10:54:59 +02:00
Clément Renault
15208c7d3d
Simplify the indexer record loop 2020-09-22 10:33:30 +02:00
Clément Renault
e5adfaade0
Replace the token filter by a filter mapper 2020-09-22 10:24:31 +02:00
Clément Renault
d21c80b865
Apply the chunk compression parameters on all the MTBL writers 2020-09-21 18:30:54 +02:00
Clément Renault
944df52e2a
Simplify the indexer main loop 2020-09-21 14:59:48 +02:00
Kerollmops
3ded98e5fa
Bump the roaring version that fix a deserialization bug 2020-09-10 22:37:51 +02:00
Kerollmops
d5e5baa20f
Bump the oxidized-mtbl dependency 2020-09-10 13:29:12 +02:00
Kerollmops
0fb086f241
Use the crates.io raoring library 2020-09-08 15:16:04 +02:00
Kerollmops
aed0704404
Remove the temporary optimisation 2020-09-08 14:48:33 +02:00
Kerollmops
072382fa61
Sort the word docids to make intersections much faster 2020-09-07 22:38:49 +02:00
Kerollmops
ad11c5fb3f
Introduce the words-docids command for the infos binary 2020-09-07 22:36:35 +02:00
Kerollmops
5664c37539
Introduce an heed codec that reduce the size of small amount of serialized integers 2020-09-07 20:06:23 +02:00
Kerollmops
3e2250423c
Introduce the average-number-of-positions infos subcommand 2020-09-07 15:26:42 +02:00
Kerollmops
ea605b499c
Introduce two new infos subcommands 2020-09-07 14:56:48 +02:00
Clément Renault
bb1ab428db
Use another function to define the proximity 2020-09-06 17:55:07 +02:00
Clément Renault
f928b91e9d
Specify the exact rev for the near-proximity dep 2020-09-06 17:21:38 +02:00
Clément Renault
dec460ce52
Fix the infos binary and add commands 2020-09-06 17:14:20 +02:00
Clément Renault
daa3673c1c
Invert the word docid positions key order 2020-09-06 10:30:53 +02:00
Clément Renault
c2405bcae2
Prefer using the word_docids db to create the words-fst 2020-09-06 10:23:56 +02:00
Kerollmops
4ca9472e02
Fix the minimum proximity len 2020-09-06 10:19:34 +02:00
Clément Renault
1c504471d3
Introduce the plane-sweep algorithm 2020-09-05 18:25:27 +02:00
Clément Renault
dc88a86259
Store the word positions under the documents 2020-09-05 18:03:06 +02:00
Kerollmops
580ed1119a
Make the engine to return csv string records as documents and headers 2020-08-31 19:02:00 +02:00
Clément Renault
bad0663138
Come back to the old tokenizer 2020-08-31 13:34:38 +02:00
Kerollmops
220ba0785c
Make the front-end to throttle the request by 100ms 2020-08-31 13:34:35 +02:00
Clément Renault
4afc4d0751
Use the groups of four positions to speed up disjunctions tests 2020-08-30 16:25:11 +02:00
Clément Renault
605f75b56f
Add the words grouped by four positions in the infos binary 2020-08-29 18:23:33 +02:00
Clément Renault
ad5cafbfed
Introduce a database to store docids in groups of four positions 2020-08-29 17:42:55 +02:00
Clément Renault
3db517548d
Move the documents back into the LMDB database 2020-08-29 15:14:04 +02:00
Clément Renault
816db7a0aa
Improve the RoaringBitmap codec to reserve enough vector space 2020-08-29 11:21:30 +02:00
Clément Renault
3fe497e129
Improve the Mtbl heed codec to only encode MTBL databases 2020-08-29 11:20:39 +02:00
Clément Renault
21aafd603c
Make sure the first document is associated to the document id 0 2020-08-29 10:56:40 +02:00
Clément Renault
0a44ff86ab
Put the documents MTBL back into LMDB
We makes sure to write the documents into a file before
memory mapping it and putting it into LMDB, this way we avoid
moving it to RAM
2020-08-28 15:43:24 +02:00
Clément Renault
d784d87880
Remove the prefix LMDB databases 2020-08-28 14:41:43 +02:00