migrations: create virtual col common on jmdict kanji/reading elements
This commit is contained in:
@@ -47,8 +47,11 @@ CREATE TABLE "JMdict_KanjiElement" (
|
||||
"spec" INTEGER CHECK ("spec" BETWEEN 1 AND 2),
|
||||
"gai" INTEGER CHECK ("gai" BETWEEN 1 AND 2),
|
||||
"nf" INTEGER CHECK ("nf" BETWEEN 1 AND 48),
|
||||
"common" BOOLEAN NOT NULL AS (
|
||||
"news" IS 1 OR "ichi" IS 1 OR "spec" IS 1 OR "gai" IS 1
|
||||
),
|
||||
"baseScore" INTEGER NOT NULL AS (
|
||||
(("news" IS 1 OR "ichi" IS 1 OR "spec" IS 1 OR "gai" IS 1) * 50)
|
||||
("common" * 50)
|
||||
+ (("news" IS 1) * 10)
|
||||
+ (("news" IS 2) * 5)
|
||||
+ (("ichi" IS 1) * 10)
|
||||
@@ -87,8 +90,11 @@ CREATE TABLE "JMdict_ReadingElement" (
|
||||
"spec" INTEGER CHECK ("spec" BETWEEN 1 AND 2),
|
||||
"gai" INTEGER CHECK ("gai" BETWEEN 1 AND 2),
|
||||
"nf" INTEGER CHECK ("nf" BETWEEN 1 AND 48),
|
||||
"common" BOOLEAN NOT NULL AS (
|
||||
"news" IS 1 OR "ichi" IS 1 OR "spec" IS 1 OR "gai" IS 1
|
||||
),
|
||||
"baseScore" INTEGER NOT NULL AS (
|
||||
(("news" IS 1 OR "ichi" IS 1 OR "spec" IS 1 OR "gai" IS 1) * 50)
|
||||
("common" * 50)
|
||||
+ (("news" IS 1) * 10)
|
||||
+ (("news" IS 2) * 5)
|
||||
+ (("ichi" IS 1) * 10)
|
||||
|
||||
@@ -44,14 +44,8 @@ AS
|
||||
SELECT DISTINCT "entryId"
|
||||
FROM "JMdict_KanjiElement"
|
||||
FULL OUTER JOIN "JMdict_ReadingElement" USING("entryId")
|
||||
WHERE "JMdict_ReadingElement"."news" = 1
|
||||
OR "JMdict_ReadingElement"."ichi" = 1
|
||||
OR "JMdict_ReadingElement"."spec" = 1
|
||||
OR "JMdict_ReadingElement"."gai" = 1
|
||||
OR "JMdict_KanjiElement"."news" = 1
|
||||
OR "JMdict_KanjiElement"."ichi" = 1
|
||||
OR "JMdict_KanjiElement"."spec" = 1
|
||||
OR "JMdict_KanjiElement"."gai" = 1;
|
||||
WHERE "JMdict_ReadingElement"."common" = 1
|
||||
OR "JMdict_KanjiElement"."common" = 1;
|
||||
|
||||
|
||||
-- TODO: Make it possible to match words that contain the
|
||||
@@ -70,7 +64,4 @@ JOIN "JMdict_KanjiElementFTS"
|
||||
JOIN "JMdict_KanjiElement"
|
||||
ON "JMdict_KanjiElementFTS"."entryId" = "JMdict_KanjiElement"."entryId"
|
||||
AND "JMdict_KanjiElementFTS"."reading" LIKE '%' || "JMdict_KanjiElement"."reading"
|
||||
WHERE "JMdict_KanjiElement".news = 1
|
||||
OR "JMdict_KanjiElement".ichi = 1
|
||||
OR "JMdict_KanjiElement".spec = 1
|
||||
OR "JMdict_KanjiElement".gai = 1;
|
||||
WHERE "JMdict_KanjiElement"."common";
|
||||
|
||||
Reference in New Issue
Block a user