本体是 AI 英语词源词典数据库,顺便用 Tauri 做了个壳子。
本地内置了四六级、托福词汇表的单词的信息,词表来源于常用英语词汇表。内置信息包括:
以上信息均由 AI 生成,不保证准确。另外,可在线查询英英词典,或打开 Merriam-Webster 页面了解更多单词信息。
Windows 便携版( 12.9 MB )Github releases
数据库文件位于 public\english_etymology.db
,数据库设计:
-- Main words table CREATE TABLE IF NOT EXISTS words ( id INTEGER PRIMARY KEY AUTOINCREMENT, word TEXT NOT NULL UNIQUE, frequency TEXT CHECK (frequency IN ('very_common', 'common', 'uncommon', 'rare', 'archaic')), etymology TEXT, context TEXT, related_words TEXT, -- 合并 related_words 表 similar_words TEXT, -- 合并 similar_looking_words 表 antonyms TEXT, -- 合并 antonyms 表 synonyms TEXT, -- 合并 synonyms 表 derivatives TEXT, -- 合并 derivatives 表 created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); -- 词根字典表 CREATE TABLE IF NOT EXISTS root_dictionary ( id INTEGER PRIMARY KEY AUTOINCREMENT, root TEXT NOT NULL UNIQUE ); -- 词根关联表 CREATE TABLE IF NOT EXISTS word_roots ( word_id INTEGER NOT NULL, root_id INTEGER NOT NULL, PRIMARY KEY (word_id, root_id), FOREIGN KEY (word_id) REFERENCES words(id) ON DELETE CASCADE, FOREIGN KEY (root_id) REFERENCES root_dictionary(id) ON DELETE CASCADE ); -- Other languages CREATE TABLE IF NOT EXISTS other_languages ( id INTEGER PRIMARY KEY AUTOINCREMENT, word_id INTEGER, lang TEXT NOT NULL, meaning TEXT NOT NULL, words TEXT NOT NULL, FOREIGN KEY (word_id) REFERENCES words(id) ON DELETE CASCADE ); -- Collocations CREATE TABLE IF NOT EXISTS collocations ( id INTEGER PRIMARY KEY AUTOINCREMENT, word_id INTEGER, item TEXT NOT NULL, translate TEXT NOT NULL, FOREIGN KEY (word_id) REFERENCES words(id) ON DELETE CASCADE ); -- Create indexes for better query performance CREATE INDEX IF NOT EXISTS idx_words_word ON words(word); CREATE INDEX IF NOT EXISTS idx_root_dictionary_root ON root_dictionary(root); CREATE INDEX IF NOT EXISTS idx_word_roots_root_id ON word_roots(root_id); CREATE INDEX IF NOT EXISTS idx_word_roots_word_id ON word_roots(word_id); CREATE INDEX IF NOT EXISTS idx_other_languages_word_id ON other_languages(word_id); CREATE INDEX IF NOT EXISTS idx_collocations_word_id ON collocations(word_id);