bundle tokenizer
This commit is contained in:
1 parent
ac92453685
commit
fc7831b04e
2 files changed
+64
-63
No files matched your search
@@ -4,72 +4,72 @@ pub struct YomitanSearch;
|
|||||||
|
|
||||||
impl YomitanSearch {
|
impl YomitanSearch {
|
||||||
pub fn migrations() -> Vec<Migration> {
|
pub fn migrations() -> Vec<Migration> {
|
||||||
vec![
|
vec![
|
||||||
Migration {
|
Migration {
|
||||||
version: 1,
|
version: 1,
|
||||||
description: "create yomitan dict-version tables",
|
description: "create yomitan dict-version tables",
|
||||||
sql: "
|
sql: "
|
||||||
CREATE TABLE dict (
|
CREATE TABLE dict (
|
||||||
id INTEGER PRIMARY KEY,
|
id INTEGER PRIMARY KEY,
|
||||||
title TEXT NOT NULL,
|
title TEXT NOT NULL,
|
||||||
revision TEXT NOT NULL,
|
revision TEXT NOT NULL,
|
||||||
author TEXT,
|
author TEXT,
|
||||||
url TEXT,
|
url TEXT,
|
||||||
description TEXT,
|
description TEXT,
|
||||||
sort_order INTEGER NOT NULL DEFAULT 0,
|
sort_order INTEGER NOT NULL DEFAULT 0,
|
||||||
installed_at TEXT NOT NULL DEFAULT (datetime('now')),
|
installed_at TEXT NOT NULL DEFAULT (datetime('now')),
|
||||||
bundle_name TEXT, -- custom
|
bundle_name TEXT, -- custom
|
||||||
lang TEXT NOT NULL, -- custom
|
lang TEXT NOT NULL, -- custom
|
||||||
asset_count INTEGER, -- custom
|
asset_count INTEGER, -- custom
|
||||||
source TEXT, -- custom
|
source TEXT, -- custom
|
||||||
UNIQUE (title, revision)
|
UNIQUE (title, revision)
|
||||||
);
|
);
|
||||||
",
|
",
|
||||||
kind: MigrationKind::Up,
|
kind: MigrationKind::Up,
|
||||||
},
|
},
|
||||||
Migration {
|
Migration {
|
||||||
version: 1,
|
version: 1,
|
||||||
description: "create yomitan ja query tables",
|
description: "create yomitan ja query tables",
|
||||||
sql: "
|
sql: "
|
||||||
CREATE TABLE ja_search (
|
CREATE TABLE ja_search (
|
||||||
id INTEGER NOT NULL, -- yomitan.terms.id OR yomitan dups OR -user.terms.id
|
id INTEGER NOT NULL, -- yomitan.terms.id OR yomitan dups OR -user.terms.id
|
||||||
dict_id INTEGER NOT NULL REFERENCES dict(id) ON DELETE CASCADE,
|
dict_id INTEGER NOT NULL REFERENCES dict(id) ON DELETE CASCADE,
|
||||||
term TEXT NOT NULL, -- normalized
|
term TEXT NOT NULL, -- normalized
|
||||||
term_seg TEXT, -- segmented and filtered for fillers
|
term_seg TEXT, -- segmented and filtered for fillers
|
||||||
reading TEXT NOT NULL, -- normalized
|
reading TEXT NOT NULL, -- normalized
|
||||||
frequency INTEGER,
|
frequency INTEGER,
|
||||||
PRIMARY KEY (id, dict_id)
|
PRIMARY KEY (id, dict_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE INDEX ja_search_term ON ja_search (term);
|
CREATE INDEX ja_search_term ON ja_search (term);
|
||||||
CREATE INDEX ja_search_reading ON ja_search (reading);
|
CREATE INDEX ja_search_reading ON ja_search (reading);
|
||||||
CREATE INDEX ja_search_frequency ON ja_search (frequency DESC);
|
CREATE INDEX ja_search_frequency ON ja_search (frequency DESC);
|
||||||
|
|
||||||
CREATE VIRTUAL TABLE IF NOT EXISTS ja_search_ft USING fts5 (
|
CREATE VIRTUAL TABLE IF NOT EXISTS ja_search_ft USING fts5 (
|
||||||
term_seg,
|
term_seg,
|
||||||
content='ja_search',
|
content='ja_search',
|
||||||
content_rowid='rowid',
|
content_rowid='rowid',
|
||||||
tokenize=unicode61
|
tokenize=unicode61
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TRIGGER t_ja_search_ft_after_insert
|
CREATE TRIGGER t_ja_search_ft_after_insert
|
||||||
AFTER INSERT ON ja_search BEGIN
|
AFTER INSERT ON ja_search BEGIN
|
||||||
INSERT INTO ja_search_ft (rowid, term_seg) VALUES (NEW.rowid, NEW.term_seg);
|
INSERT INTO ja_search_ft (rowid, term_seg) VALUES (NEW.rowid, NEW.term_seg);
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER t_ja_search_ft_after_delete
|
CREATE TRIGGER t_ja_search_ft_after_delete
|
||||||
AFTER DELETE ON ja_search BEGIN
|
AFTER DELETE ON ja_search BEGIN
|
||||||
INSERT INTO ja_search_ft (ja_search_ft, rowid, term_seg) VALUES ('delete', OLD.rowid, OLD.term_seg);
|
INSERT INTO ja_search_ft (ja_search_ft, rowid, term_seg) VALUES ('delete', OLD.rowid, OLD.term_seg);
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TRIGGER t_ja_search_ft_after_update
|
CREATE TRIGGER t_ja_search_ft_after_update
|
||||||
AFTER UPDATE ON ja_search BEGIN
|
AFTER UPDATE ON ja_search BEGIN
|
||||||
INSERT INTO ja_search_ft (ja_search_ft, rowid, term_seg) VALUES ('delete', OLD.rowid, OLD.term_seg);
|
INSERT INTO ja_search_ft (ja_search_ft, rowid, term_seg) VALUES ('delete', OLD.rowid, OLD.term_seg);
|
||||||
INSERT INTO ja_search_ft (rowid, term_seg) VALUES (NEW.rowid, NEW.term_seg);
|
INSERT INTO ja_search_ft (rowid, term_seg) VALUES (NEW.rowid, NEW.term_seg);
|
||||||
END;
|
END;
|
||||||
",
|
",
|
||||||
kind: MigrationKind::Up
|
kind: MigrationKind::Up
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -31,6 +31,7 @@
|
|||||||
"icons/128x128@2x.png",
|
"icons/128x128@2x.png",
|
||||||
"icons/icon.icns",
|
"icons/icon.icns",
|
||||||
"icons/icon.ico"
|
"icons/icon.ico"
|
||||||
]
|
],
|
||||||
|
"resources": ["resources/mecab-ipadic/system.dic.zst"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user