h7x4 9632b90952
Some checks failed
Build database / evals (push) Successful in 12m28s
Run tests / evals (push) Failing after 28m41s
search/kanji: split queries into separate functions
2026-02-28 18:57:57 +09:00
2022-06-20 20:07:35 +02:00
2025-06-25 20:18:27 +02:00
2026-02-21 00:49:53 +09:00
2026-02-28 18:25:37 +09:00
2024-11-14 16:52:47 +01:00
2025-05-19 16:40:36 +02:00
2022-06-20 20:07:35 +02:00
2026-02-25 16:28:18 +09:00
2025-03-17 20:56:25 +01:00
2026-02-24 18:44:20 +09:00
2026-02-21 00:49:24 +09:00

jadb

built with nix

An SQLite database containing open source japanese dictionary data combined from several sources

Note that while the license for the code is MIT, the data has various licenses.

Sources

Source name URL
JMDict: https://edrdg.org/jmdict/j_jmdict.html
RADKFILE/KRADFILE: https://www.edrdg.org/krad/kradinf.html
KANJIDIC2: https://www.edrdg.org/kanjidic/kanjd2index_legacy.html
Tanos JLPT levels: https://www.tanos.co.uk/jlpt/
Kangxi Radicals: https://ctext.org/kangxi-zidian

Implementation details

The word search procedure is currently split into 3 parts:

  1. Entry ID query:

Use a complex query with various scoring factors to try to get list of database ids pointing at dictionary entries, sorted by how likely we think this word is the word that the caller is looking for. The output here is a List<int>

  1. Data Query:

Takes the entry id list from the last search, and performs all queries needed to retrieve all the dictionary data for those IDs. The result is a struct with a bunch of flattened lists with data for all the dictionary entries. These lists are sorted by the order that the ids were provided.

  1. Regrouping:

Takes the flattened data, and regroups the items into structs with a more "hierarchical" structure. All data tagged with the same ID will end up in the same struct. Returns a list of these structs.

Description
An SQLite database containing open source japanese language translation data
Readme MIT 725 KiB
Languages
Dart 96.7%
Nix 3.3%