From 46492eb926dab738295ca2fad357a1881678b9c7 Mon Sep 17 00:00:00 2001 From: siikamiika Date: Wed, 11 Oct 2017 05:30:59 +0300 Subject: [PATCH 01/11] edict: add sequence --- common.go | 2 ++ edict.go | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/common.go b/common.go index a3be3b9..a749c2d 100644 --- a/common.go +++ b/common.go @@ -80,6 +80,7 @@ type dbTerm struct { Rules []string Score int Glossary []string + Sequence int } type dbTermList []dbTerm @@ -102,6 +103,7 @@ func (terms dbTermList) crush() dbRecordList { strings.Join(t.Rules, " "), t.Score, t.Glossary, + t.Sequence, } results = append(results, result) diff --git a/edict.go b/edict.go index 964fcde..f3645c9 100644 --- a/edict.go +++ b/edict.go @@ -29,7 +29,7 @@ import ( "github.com/FooSoft/jmdict" ) -const jmdictRevision = "jmdict3" +const jmdictRevision = "jmdict4" func jmdictBuildRules(term *dbTerm) { for _, tag := range term.Tags { @@ -138,6 +138,7 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm Reading: termBase.Reading, Expression: termBase.Expression, Score: len(edictEntry.Sense) - index, + Sequence: edictEntry.Sequence, } for _, glossary := range sense.Glossary { From 23488d97f6ddbe388299e8603adbf1b4ddd5a214 Mon Sep 17 00:00:00 2001 From: siikamiika Date: Wed, 11 Oct 2017 09:39:29 +0300 Subject: [PATCH 02/11] add TermTags --- common.go | 16 +++++++++++++++- edict.go | 9 +++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/common.go b/common.go index a749c2d..06e6b1a 100644 --- a/common.go +++ b/common.go @@ -77,6 +77,7 @@ type dbTerm struct { Expression string Reading string Tags []string + TermTags []string Rules []string Score int Glossary []string @@ -89,17 +90,30 @@ func (term *dbTerm) addTags(tags ...string) { term.Tags = appendStringUnique(term.Tags, tags...) } +func (term *dbTerm) addTermTags(termTags ...string) { + term.TermTags = appendStringUnique(term.TermTags, termTags...) +} + func (term *dbTerm) addRules(rules ...string) { term.Rules = appendStringUnique(term.Rules, rules...) } +func (term *dbTerm) crushTags() string { + tags := strings.Join(term.Tags, " ") + if len(term.TermTags) == 0 { + return tags + } else { + return tags + "\t" + strings.Join(term.TermTags, " ") + } +} + func (terms dbTermList) crush() dbRecordList { var results dbRecordList for _, t := range terms { result := dbRecord{ t.Expression, t.Reading, - strings.Join(t.Tags, " "), + t.crushTags(), strings.Join(t.Rules, " "), t.Score, t.Glossary, diff --git a/edict.go b/edict.go index f3645c9..941720e 100644 --- a/edict.go +++ b/edict.go @@ -63,10 +63,10 @@ func jmdictAddPriorities(term *dbTerm, priorities ...string) { for _, priority := range priorities { switch priority { case "news1", "ichi1", "spec1", "gai1": - term.addTags("P") + term.addTermTags("P") fallthrough case "news2", "ichi2", "spec2", "gai2": - term.addTags(priority[:len(priority)-1]) + term.addTermTags(priority[:len(priority)-1]) } } } @@ -107,7 +107,7 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm } var termBase dbTerm - termBase.addTags(reading.Information...) + termBase.addTermTags(reading.Information...) if kanji == nil { termBase.Expression = reading.Reading @@ -115,7 +115,7 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm } else { termBase.Expression = kanji.Expression termBase.Reading = reading.Reading - termBase.addTags(kanji.Information...) + termBase.addTermTags(kanji.Information...) for _, priority := range kanji.Priorities { if hasString(priority, reading.Priorities) { @@ -152,6 +152,7 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm } term.addTags(termBase.Tags...) + term.addTermTags(termBase.TermTags...) term.addTags(sense.PartsOfSpeech...) term.addTags(sense.Fields...) term.addTags(sense.Misc...) From edb162808e607acefe2d15523cb980cf171a507b Mon Sep 17 00:00:00 2001 From: siikamiika Date: Thu, 12 Oct 2017 02:28:51 +0300 Subject: [PATCH 03/11] edict: respect NoKanji --- edict.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/edict.go b/edict.go index 941720e..01870a0 100644 --- a/edict.go +++ b/edict.go @@ -174,7 +174,14 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm if len(edictEntry.Kanji) > 0 { for _, kanji := range edictEntry.Kanji { for _, reading := range edictEntry.Readings { - convert(reading, &kanji) + if reading.NoKanji == nil { + convert(reading, &kanji) + } + } + } + for _, reading := range edictEntry.Readings { + if reading.NoKanji != nil { + convert(reading, nil) } } } else { From c6c50ce5c5ad3b0a6fb03b563d256209b0d191e8 Mon Sep 17 00:00:00 2001 From: siikamiika Date: Thu, 12 Oct 2017 02:58:40 +0300 Subject: [PATCH 04/11] edict: fix Score --- edict.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/edict.go b/edict.go index 01870a0..fa01b65 100644 --- a/edict.go +++ b/edict.go @@ -49,11 +49,17 @@ func jmdictBuildRules(term *dbTerm) { func jmdictBuildScore(term *dbTerm) { for _, tag := range term.Tags { switch tag { - case "news", "ichi", "spec", "gai": + case "arch": + term.Score -= 100 + } + } + for _, tag := range term.TermTags { + switch tag { + case "news", "ichi", "spec", "gai1": term.Score += 100 case "P": term.Score += 500 - case "arch", "iK": + case "iK", "ik": term.Score -= 100 } } From 28bd180afafdbb43f6ed37fbdeac9bdec1f022a1 Mon Sep 17 00:00:00 2001 From: siikamiika Date: Thu, 12 Oct 2017 03:40:53 +0300 Subject: [PATCH 05/11] edict: fix PartsOfSpeech and Misc --- edict.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/edict.go b/edict.go index fa01b65..fd2cf3e 100644 --- a/edict.go +++ b/edict.go @@ -131,6 +131,7 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm } var partsOfSpeech []string + var misc []string for index, sense := range edictEntry.Sense { if sense.RestrictedReadings != nil && !hasString(reading.Reading, sense.RestrictedReadings) { continue @@ -157,19 +158,21 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm continue } + if len(sense.PartsOfSpeech) != 0 { + partsOfSpeech = sense.PartsOfSpeech + } + + if len(sense.Misc) != 0 { + misc = sense.Misc + } + term.addTags(termBase.Tags...) term.addTermTags(termBase.TermTags...) - term.addTags(sense.PartsOfSpeech...) + term.addTags(partsOfSpeech...) term.addTags(sense.Fields...) - term.addTags(sense.Misc...) + term.addTags(misc...) term.addTags(sense.Dialects...) - if index == 0 { - partsOfSpeech = sense.PartsOfSpeech - } else { - term.addTags(partsOfSpeech...) - } - jmdictBuildRules(&term) jmdictBuildScore(&term) From 5437ad22f1f0e52af02009c51c42aecf73dbc742 Mon Sep 17 00:00:00 2001 From: siikamiika Date: Thu, 12 Oct 2017 06:51:00 +0300 Subject: [PATCH 06/11] edict: add Category "pos" --- edict.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/edict.go b/edict.go index fd2cf3e..6937bd4 100644 --- a/edict.go +++ b/edict.go @@ -59,7 +59,7 @@ func jmdictBuildScore(term *dbTerm) { term.Score += 100 case "P": term.Score += 500 - case "iK", "ik": + case "iK": term.Score -= 100 } } @@ -96,6 +96,14 @@ func jmdictBuildTagMeta(entities map[string]string) dbTagList { case "arch", "iK": tag.Category = "archaism" tag.Order = -4 + case "adj-f", "adj-i", "adj-ix", "adj-ku", "adj-na", "adj-nari", "adj-no", "adj-pn", "adj-shiku", "adj-t", "adv", "adv-to", "aux-adj", + "aux", "aux-v", "conj", "cop-da", "ctr", "int", "n-adv", "n", "n-pref", "n-pr", "n-suf", "n-t", "num", "pn", "pref", "prt", "suf", + "unc", "v1", "v1-s", "v2a-s", "v2b-k", "v2d-s", "v2g-k", "v2g-s", "v2h-k", "v2h-s", "v2k-k", "v2k-s", "v2m-s", "v2n-s", "v2r-k", + "v2r-s", "v2s-s", "v2t-k", "v2t-s", "v2w-s", "v2y-k", "v2y-s", "v2z-s", "v4b", "v4h", "v4k", "v4m", "v4r", "v4s", "v4t", "v5aru", + "v5b", "v5g", "v5k", "v5k-s", "v5m", "v5n", "v5r-i", "v5r", "v5s", "v5t", "v5u", "v5u-s", "vi", "vk", "vn", "vr", "vs-c", "vs-i", + "vs", "vs-s", "vt", "vz": + tag.Category = "pos" + tag.Order = -3 } tags = append(tags, tag) From 1ee4aae58058f76d129b9dcf9a359fadfeccf0e6 Mon Sep 17 00:00:00 2001 From: siikamiika Date: Thu, 12 Oct 2017 07:01:36 +0300 Subject: [PATCH 07/11] edict: fix PartsOfSpeech and Misc with Restricted* --- edict.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/edict.go b/edict.go index 6937bd4..359e2c8 100644 --- a/edict.go +++ b/edict.go @@ -141,6 +141,15 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm var partsOfSpeech []string var misc []string for index, sense := range edictEntry.Sense { + + if len(sense.PartsOfSpeech) != 0 { + partsOfSpeech = sense.PartsOfSpeech + } + + if len(sense.Misc) != 0 { + misc = sense.Misc + } + if sense.RestrictedReadings != nil && !hasString(reading.Reading, sense.RestrictedReadings) { continue } @@ -166,14 +175,6 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm continue } - if len(sense.PartsOfSpeech) != 0 { - partsOfSpeech = sense.PartsOfSpeech - } - - if len(sense.Misc) != 0 { - misc = sense.Misc - } - term.addTags(termBase.Tags...) term.addTermTags(termBase.TermTags...) term.addTags(partsOfSpeech...) From 3100950efa3a887852253ade9acad0633a29cc66 Mon Sep 17 00:00:00 2001 From: siikamiika Date: Thu, 12 Oct 2017 07:32:46 +0300 Subject: [PATCH 08/11] edict: undo persistent Misc Seems like documentation isn't correct --- edict.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/edict.go b/edict.go index 359e2c8..418d3e3 100644 --- a/edict.go +++ b/edict.go @@ -139,17 +139,12 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm } var partsOfSpeech []string - var misc []string for index, sense := range edictEntry.Sense { if len(sense.PartsOfSpeech) != 0 { partsOfSpeech = sense.PartsOfSpeech } - if len(sense.Misc) != 0 { - misc = sense.Misc - } - if sense.RestrictedReadings != nil && !hasString(reading.Reading, sense.RestrictedReadings) { continue } @@ -179,7 +174,7 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm term.addTermTags(termBase.TermTags...) term.addTags(partsOfSpeech...) term.addTags(sense.Fields...) - term.addTags(misc...) + term.addTags(sense.Misc...) term.addTags(sense.Dialects...) jmdictBuildRules(&term) From 26d01e0d56fb65f323d9d69375cea8018d924a66 Mon Sep 17 00:00:00 2001 From: siikamiika Date: Fri, 13 Oct 2017 02:46:06 +0300 Subject: [PATCH 09/11] rename Tags to DefinitionTags --- common.go | 36 ++++++++++++++---------------------- edict.go | 14 +++++++------- 2 files changed, 21 insertions(+), 29 deletions(-) diff --git a/common.go b/common.go index 06e6b1a..955014b 100644 --- a/common.go +++ b/common.go @@ -74,50 +74,42 @@ func (freqs dbMetaList) crush() dbRecordList { } type dbTerm struct { - Expression string - Reading string - Tags []string - TermTags []string - Rules []string - Score int - Glossary []string - Sequence int + Expression string + Reading string + DefinitionTags []string + Rules []string + Score int + Glossary []string + Sequence int + TermTags []string } type dbTermList []dbTerm -func (term *dbTerm) addTags(tags ...string) { - term.Tags = appendStringUnique(term.Tags, tags...) +func (term *dbTerm) addDefinitionTags(tags ...string) { + term.DefinitionTags = appendStringUnique(term.DefinitionTags, tags...) } -func (term *dbTerm) addTermTags(termTags ...string) { - term.TermTags = appendStringUnique(term.TermTags, termTags...) +func (term *dbTerm) addTermTags(tags ...string) { + term.TermTags = appendStringUnique(term.TermTags, tags...) } func (term *dbTerm) addRules(rules ...string) { term.Rules = appendStringUnique(term.Rules, rules...) } -func (term *dbTerm) crushTags() string { - tags := strings.Join(term.Tags, " ") - if len(term.TermTags) == 0 { - return tags - } else { - return tags + "\t" + strings.Join(term.TermTags, " ") - } -} - func (terms dbTermList) crush() dbRecordList { var results dbRecordList for _, t := range terms { result := dbRecord{ t.Expression, t.Reading, - t.crushTags(), + strings.Join(t.DefinitionTags, " "), strings.Join(t.Rules, " "), t.Score, t.Glossary, t.Sequence, + strings.Join(t.TermTags, " "), } results = append(results, result) diff --git a/edict.go b/edict.go index 418d3e3..07619ef 100644 --- a/edict.go +++ b/edict.go @@ -32,7 +32,7 @@ import ( const jmdictRevision = "jmdict4" func jmdictBuildRules(term *dbTerm) { - for _, tag := range term.Tags { + for _, tag := range term.DefinitionTags { switch tag { case "adj-i", "v1", "vk": term.addRules(tag) @@ -47,7 +47,7 @@ func jmdictBuildRules(term *dbTerm) { } func jmdictBuildScore(term *dbTerm) { - for _, tag := range term.Tags { + for _, tag := range term.DefinitionTags { switch tag { case "arch": term.Score -= 100 @@ -170,12 +170,12 @@ func jmdictExtractTerms(edictEntry jmdict.JmdictEntry, language string) []dbTerm continue } - term.addTags(termBase.Tags...) + term.addDefinitionTags(termBase.DefinitionTags...) term.addTermTags(termBase.TermTags...) - term.addTags(partsOfSpeech...) - term.addTags(sense.Fields...) - term.addTags(sense.Misc...) - term.addTags(sense.Dialects...) + term.addDefinitionTags(partsOfSpeech...) + term.addDefinitionTags(sense.Fields...) + term.addDefinitionTags(sense.Misc...) + term.addDefinitionTags(sense.Dialects...) jmdictBuildRules(&term) jmdictBuildScore(&term) From 8252612626c0cd3ac5e1ac298e789bf89afd9867 Mon Sep 17 00:00:00 2001 From: siikamiika Date: Fri, 13 Oct 2017 02:48:58 +0300 Subject: [PATCH 10/11] add Sequence to other dictionary formats --- daijirin.go | 4 +++- daijisen.go | 4 +++- enamdict.go | 10 +++++----- epwing.go | 8 ++++++-- kotowaza.go | 3 ++- meikyou.go | 4 +++- rikai.go | 11 ++++++++--- wadai.go | 3 ++- 8 files changed, 32 insertions(+), 15 deletions(-) diff --git a/daijirin.go b/daijirin.go index 29e967a..47d2054 100644 --- a/daijirin.go +++ b/daijirin.go @@ -47,7 +47,7 @@ func makeDaijirinExtractor() epwingExtractor { } } -func (e *daijirinExtractor) extractTerms(entry epwingEntry) []dbTerm { +func (e *daijirinExtractor) extractTerms(entry epwingEntry, sequence int) []dbTerm { matches := e.partsExp.FindStringSubmatch(entry.Heading) if matches == nil { return nil @@ -86,6 +86,7 @@ func (e *daijirinExtractor) extractTerms(entry epwingEntry) []dbTerm { term := dbTerm{ Expression: reading, Glossary: []string{entry.Text}, + Sequence: sequence, } e.exportRules(&term, tags) @@ -99,6 +100,7 @@ func (e *daijirinExtractor) extractTerms(entry epwingEntry) []dbTerm { Expression: expression, Reading: reading, Glossary: []string{entry.Text}, + Sequence: sequence, } e.exportRules(&term, tags) diff --git a/daijisen.go b/daijisen.go index 596fd46..44e1f32 100644 --- a/daijisen.go +++ b/daijisen.go @@ -49,7 +49,7 @@ func makeDaijisenExtractor() epwingExtractor { } } -func (e *daijisenExtractor) extractTerms(entry epwingEntry) []dbTerm { +func (e *daijisenExtractor) extractTerms(entry epwingEntry, sequence int) []dbTerm { matches := e.partsExp.FindStringSubmatch(entry.Heading) if matches == nil { return nil @@ -88,6 +88,7 @@ func (e *daijisenExtractor) extractTerms(entry epwingEntry) []dbTerm { term := dbTerm{ Expression: reading, Glossary: []string{entry.Text}, + Sequence: sequence, } e.exportRules(&term, tags) @@ -99,6 +100,7 @@ func (e *daijisenExtractor) extractTerms(entry epwingEntry) []dbTerm { Expression: expression, Reading: reading, Glossary: []string{entry.Text}, + Sequence: sequence, } e.exportRules(&term, tags) diff --git a/enamdict.go b/enamdict.go index e003d0f..2442dab 100644 --- a/enamdict.go +++ b/enamdict.go @@ -57,26 +57,26 @@ func jmnedictExtractTerms(enamdictEntry jmdict.JmnedictEntry) []dbTerm { } var term dbTerm - term.addTags(reading.Information...) + term.Sequence = enamdictEntry.Sequence + term.addTermTags(reading.Information...) if kanji == nil { term.Expression = reading.Reading - term.addTags(reading.Information...) } else { term.Expression = kanji.Expression term.Reading = reading.Reading - term.addTags(kanji.Information...) + term.addTermTags(kanji.Information...) for _, priority := range kanji.Priorities { if hasString(priority, reading.Priorities) { - term.addTags(priority) + term.addTermTags(priority) } } } for _, trans := range enamdictEntry.Translations { term.Glossary = append(term.Glossary, trans.Translations...) - term.addTags(trans.NameTypes...) + term.addDefinitionTags(trans.NameTypes...) } terms = append(terms, term) diff --git a/epwing.go b/epwing.go index d0ec6f3..627dacb 100644 --- a/epwing.go +++ b/epwing.go @@ -55,7 +55,7 @@ type epwingBook struct { } type epwingExtractor interface { - extractTerms(entry epwingEntry) []dbTerm + extractTerms(entry epwingEntry, sequence int) []dbTerm extractKanji(entry epwingEntry) []dbKanji getFontNarrow() map[int]string getFontWide() map[int]string @@ -155,6 +155,8 @@ func epwingExportDb(inputPath, outputPath, language, title string, stride int, p log.Println("formatting dictionary data...") + var sequence int + for _, subbook := range book.Subbooks { if extractor, ok := epwingExtractors[subbook.Title]; ok { fontNarrow := extractor.getFontNarrow() @@ -185,8 +187,10 @@ func epwingExportDb(inputPath, outputPath, language, title string, stride int, p entry.Heading = translate(entry.Heading) entry.Text = translate(entry.Text) - terms = append(terms, extractor.extractTerms(entry)...) + terms = append(terms, extractor.extractTerms(entry, sequence)...) kanji = append(kanji, extractor.extractKanji(entry)...) + + sequence++ } revisions = append(revisions, extractor.getRevision()) diff --git a/kotowaza.go b/kotowaza.go index 0c85a2f..feddb8b 100644 --- a/kotowaza.go +++ b/kotowaza.go @@ -43,7 +43,7 @@ func makeKotowazaExtractor() epwingExtractor { } } -func (e *kotowazaExtractor) extractTerms(entry epwingEntry) []dbTerm { +func (e *kotowazaExtractor) extractTerms(entry epwingEntry, sequence int) []dbTerm { heading := entry.Heading queue := []string{heading} @@ -93,6 +93,7 @@ func (e *kotowazaExtractor) extractTerms(entry epwingEntry) []dbTerm { Expression: expression, Reading: reading, Glossary: []string{entry.Text}, + Sequence: sequence, } terms = append(terms, term) diff --git a/meikyou.go b/meikyou.go index e353576..ed0bf42 100644 --- a/meikyou.go +++ b/meikyou.go @@ -77,7 +77,7 @@ func makeMeikyouExtractor() epwingExtractor { } } -func (e *meikyouExtractor) extractTerms(entry epwingEntry) []dbTerm { +func (e *meikyouExtractor) extractTerms(entry epwingEntry, sequence int) []dbTerm { matches := e.partsExp.FindStringSubmatch(entry.Heading) if matches == nil { return nil @@ -127,6 +127,7 @@ func (e *meikyouExtractor) extractTerms(entry epwingEntry) []dbTerm { term := dbTerm{ Expression: reading, Glossary: []string{entry.Text}, + Sequence: sequence, } e.exportRules(&term, tags) @@ -140,6 +141,7 @@ func (e *meikyouExtractor) extractTerms(entry epwingEntry) []dbTerm { Expression: expression, Reading: reading, Glossary: []string{entry.Text}, + Sequence: sequence, } e.exportRules(&term, tags) diff --git a/rikai.go b/rikai.go index 1459268..b39ca36 100644 --- a/rikai.go +++ b/rikai.go @@ -39,7 +39,7 @@ type rikaiEntry struct { } func rikaiBuildRules(term *dbTerm) { - for _, tag := range term.Tags { + for _, tag := range term.DefinitionTags { switch tag { case "adj-i", "v1", "vk": term.addRules(tag) @@ -54,7 +54,7 @@ func rikaiBuildRules(term *dbTerm) { } func rikaiBuildScore(term *dbTerm) { - for _, tag := range term.Tags { + for _, tag := range term.DefinitionTags { switch tag { case "news", "ichi", "spec", "gai": term.Score++ @@ -73,6 +73,8 @@ func rikaiExtractTerms(rows *sql.Rows) (dbTermList, error) { readExp := regexp.MustCompile(`\[([^\]]+)\]`) tagExp := regexp.MustCompile(`[\s\(\),]`) + var sequence int + for rows.Next() { var ( kanji, kana, entry *string @@ -104,6 +106,7 @@ func rikaiExtractTerms(rows *sql.Rows) (dbTermList, error) { } var term dbTerm + term.Sequence = sequence if kana != nil { term.Expression = *kana term.Reading = *kana @@ -118,7 +121,7 @@ func rikaiExtractTerms(rows *sql.Rows) (dbTermList, error) { if dfnMatch := dfnExp.FindStringSubmatch(segment); dfnMatch != nil { for _, tag := range tagExp.Split(dfnMatch[1], -1) { if rikaiTagParsed(tag) { - term.addTags(tag) + term.addDefinitionTags(tag) } } @@ -132,6 +135,8 @@ func rikaiExtractTerms(rows *sql.Rows) (dbTermList, error) { rikaiBuildScore(&term) terms = append(terms, term) + + sequence++ } return terms, nil diff --git a/wadai.go b/wadai.go index 280e490..39a0246 100644 --- a/wadai.go +++ b/wadai.go @@ -45,7 +45,7 @@ func makeWadaiExtractor() epwingExtractor { } } -func (e *wadaiExtractor) extractTerms(entry epwingEntry) []dbTerm { +func (e *wadaiExtractor) extractTerms(entry epwingEntry, sequence int) []dbTerm { matches := e.partsExp.FindStringSubmatch(entry.Heading) if matches == nil { return nil @@ -90,6 +90,7 @@ func (e *wadaiExtractor) extractTerms(entry epwingEntry) []dbTerm { Expression: expression, Reading: reading, Glossary: []string{entry.Text}, + Sequence: sequence, } terms = append(terms, term) From f5e195a87a57d67208bf432df0ff4b7b0af3ed7e Mon Sep 17 00:00:00 2001 From: siikamiika Date: Fri, 13 Oct 2017 03:15:00 +0300 Subject: [PATCH 11/11] rename pos to partOfSpeech --- edict.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edict.go b/edict.go index 07619ef..9b2b81f 100644 --- a/edict.go +++ b/edict.go @@ -102,7 +102,7 @@ func jmdictBuildTagMeta(entities map[string]string) dbTagList { "v2r-s", "v2s-s", "v2t-k", "v2t-s", "v2w-s", "v2y-k", "v2y-s", "v2z-s", "v4b", "v4h", "v4k", "v4m", "v4r", "v4s", "v4t", "v5aru", "v5b", "v5g", "v5k", "v5k-s", "v5m", "v5n", "v5r-i", "v5r", "v5s", "v5t", "v5u", "v5u-s", "vi", "vk", "vn", "vr", "vs-c", "vs-i", "vs", "vs-s", "vt", "vz": - tag.Category = "pos" + tag.Category = "partOfSpeech" tag.Order = -3 }