anki/rslib
RumovZ 872b6df22a
Optimise searching in (all) fields (#1622)
* Avoid rebuilding regex in field search

* Special case search in all fields

* Don't repeat mid nodes in field search sql

Small speed gain for searches like `*:re:foo` and reduces the sql tree
depth if a lot of field names of the same notetype match.

* Add sql function to match fields with regex

* Optimise used field search algorithm

- Searching in all fields is a special case.
- Using native SQL comparison is preferred.
- For Regex, use newly added SQL function.

* Please clippy

* Avoid pyramid of doom

* nt_fields -> matched_fields

* Add tests for regex and all field searches

* minor tweaks for readability (dae)
2022-01-24 20:30:08 +10:00
..
.cargo initial Bazel conversion 2020-11-01 14:26:58 +10:00
benches New TTS/AV tag handling (#1559) 2021-12-17 19:04:42 +10:00
build Backend Custom Study (#1600) 2022-01-20 14:25:22 +10:00
cargo update Rust deps 2022-01-15 14:59:43 +10:00
i18n update Rust deps 2022-01-15 14:59:43 +10:00
i18n_helpers update Rust deps 2022-01-15 14:59:43 +10:00
linkchecker Backend Custom Study (#1600) 2022-01-20 14:25:22 +10:00
src Optimise searching in (all) fields (#1622) 2022-01-24 20:30:08 +10:00
tests/support move linkchecker into separate crate 2021-12-20 17:27:43 +10:00
.gitignore initial Bazel conversion 2020-11-01 14:26:58 +10:00
bench.sh New TTS/AV tag handling (#1559) 2021-12-17 19:04:42 +10:00
BUILD.bazel Backend Custom Study (#1600) 2022-01-20 14:25:22 +10:00
Cargo.toml move linkchecker into separate crate 2021-12-20 17:27:43 +10:00
empty.rs Backend Custom Study (#1600) 2022-01-20 14:25:22 +10:00
README.md add some code editing/completion docs 2020-12-16 14:16:08 +10:00
rustfmt.bzl update to the latest rules_rust + security framework update 2021-03-27 19:28:19 +10:00
rustfmt.toml tidy up Rust imports 2021-04-18 18:38:54 +10:00

Anki's Rust code.

backend.proto stores the interfaces used to communicate backend messages between Rust, Python and TypeScript.