Loïc Lecrenier
|
00bad8c716
|
Add comments suggesting performance improvements
|
2023-03-23 10:18:24 +01:00 |
|
Loïc Lecrenier
|
7169d85115
|
Remove old query_tree code and make clippy happy
|
2023-03-23 09:39:16 +01:00 |
|
Loïc Lecrenier
|
f5f5f03ec0
|
Remove old criteria code
|
2023-03-23 09:35:53 +01:00 |
|
Loïc Lecrenier
|
56b7209f26
|
Make clippy happy
|
2023-03-23 09:16:17 +01:00 |
|
Loïc Lecrenier
|
9b1f439a91
|
WIP
|
2023-03-23 09:12:35 +01:00 |
|
Loïc Lecrenier
|
a86aeba411
|
WIP
|
2023-03-22 14:43:08 +01:00 |
|
Loïc Lecrenier
|
384fdc2df4
|
Fix two bugs in proximity ranking rule
|
2023-03-21 11:43:25 +01:00 |
|
Loïc Lecrenier
|
83e5b4ed0d
|
Compute edges of proximity graph lazily
|
2023-03-21 10:44:40 +01:00 |
|
Loïc Lecrenier
|
272cd7ebbd
|
Small cleanup
|
2023-03-20 13:39:19 +01:00 |
|
Loïc Lecrenier
|
c63c7377e6
|
Switch order of MappedInterner generic params
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
5b50e49522
|
cargo fmt
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
65474c8de5
|
Update new sort ranking rule after rebasing
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
fbb1ba3de0
|
Cargo fmt
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
a59ca28e2c
|
Add forgotten file
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
825f742000
|
Simplify graph-based ranking rule impl
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
dd491320e5
|
Simplify graph-based ranking rule impl
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
c6ff97a220
|
Rewrite the dead-ends cache to detect more dead-ends
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
49240c367a
|
Fix bug in cost of typo conditions
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
1e6e624078
|
Fix bug in SmallBitmap
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
8b4e07e1a3
|
WIP
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
2853009987
|
Renaming Edge -> Condition
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
aa59c3bc2c
|
Replace EdgeCondition with an Option<..> + other code cleanup
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
7b1d8f4c6d
|
Make PathSet strongly typed
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
a49ddec9df
|
Prune the query graph after executing a ranking rule
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
05fe856e6e
|
Merge forward and backward proximity conditions in proximity graph
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
c0cdaf9f53
|
Fix bug in the proximity ranking rule for queries with ngrams
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
e9cf58d584
|
Refactor of the Interner
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
31628c5cd4
|
Merge Phrase and WordDerivations into one structure
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
3004e281d7
|
Support ngram typos + splitwords and splitwords+synonyms in proximity
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
14e8d0aaa2
|
Rename lifetime
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
1c58cf8426
|
Intern ranking rule graph edge conditions as well
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
5155fd2bf1
|
Reorganise initialisation of ranking rules + rename PathsMap -> PathSet
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
9ec9c204d3
|
Small code cleanup
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
78b9304d52
|
Implement distinct attribute
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
0465ba4a05
|
Intern more values
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
2099991dd1
|
Continue documenting and cleaning up the code
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
c232cdabf5
|
Add documentation
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
4e266211bf
|
Small code reorganisation
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
57fa689131
|
Cargo fmt
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
10626dddfc
|
Add a few more optimisations to new search algorithms
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
9051065c22
|
Apply a few optimisations for graph-based ranking rules
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
e8c76cf7bf
|
Intern all strings and phrases in the search logic
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
3f1729a17f
|
Update new search test
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
cab2b6bcda
|
Fix: computation of initial universe, code organisation
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
c4979a2fda
|
Fix code visibility issue + unimplemented detail in proximity rule
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
23931f8a4f
|
Fix small bug in visual logger of search algo
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
aa414565bb
|
Fix proximity graph edge builder to include all proximities
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
1db152046e
|
WIP on split words and synonyms support
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
c27ea2677f
|
Rewrite cheapest path algorithm and empty path cache
It is now much simpler and has much better performance.
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
caa1e1b923
|
Add typo ranking rule to new search impl
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
71f18e4379
|
Add sort ranking rule to new search impl
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
600e3dd1c5
|
Remove warnings
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
362eb0de86
|
Add support for filters
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
998d46ac10
|
Add support for search offset and limit
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
6c85c0d95e
|
Fix more bugs + visual empty path cache logging
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
0e1fbbf7c6
|
Fix bugs in query graph's "remove word" and "cheapest paths" algos
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
6806640ef0
|
Fix d2 description of paths map
|
2023-03-20 09:41:56 +01:00 |
|
Loïc Lecrenier
|
173e37584c
|
Improve the visual/detailed search logger
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
6ba4d5e987
|
Add a search logger
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
dd12d44134
|
Support swapped word pairs in new proximity ranking rule impl
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
c8e251bf24
|
Remove noise in codebase
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
a938fbde4a
|
Use a cache when resolving the query graph
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
dcf3f1d18a
|
Remove EdgeIndex and NodeIndex types, prefer u32 instead
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
66d0c63694
|
Add some documentation and use bitmaps instead of hashmaps when possible
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
132191360b
|
Introduce the sort ranking rule working with the new search structures
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
345c99d5bd
|
Introduce the words ranking rule working with the new search structures
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
89d696c1e3
|
Introduce the proximity ranking rule as a graph-based ranking rule
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
c645853529
|
Introduce a generic graph-based ranking rule
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
a70ab8b072
|
Introduce a function to find the K shortest paths in a graph
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
48aae76b15
|
Introduce a function to find the docids of a set of paths in a graph
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
23bf572dea
|
Introduce cache structures used with ranking rule graphs
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
864f6410ed
|
Introduce a structure to represent a set of graph paths efficiently
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
c9bf6bb2fa
|
Introduce a structure to implement ranking rules with graph algorithms
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
46249ea901
|
Implement a function to find a QueryGraph's docids
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
ce0d1e0e13
|
Introduce a common way to manage the coordination between ranking rules
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
5065d8b0c1
|
Introduce a DatabaseCache to memorize the addresses of LMDB values
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
a83007c013
|
Introduce structure to represent search queries as graphs
|
2023-03-20 09:41:55 +01:00 |
|
Loïc Lecrenier
|
79e0a6dd4e
|
Introduce a new search module, eventually meant to replace the old one
The code here does not compile, because I am merely splitting one giant
commit into smaller ones where each commit explains a single file.
|
2023-03-20 09:41:55 +01:00 |
|