Improve term dictionary entry sequence (#1591)

* Improve sequence for merged entries and add sequenceDictionary

* Update docs

* Expose sequence in definitions

* Expose sequence in root definition

* Update test data
This commit is contained in:
toasted-nutbread 2021-04-03 15:41:44 -04:00 committed by GitHub
parent 8de1e9b3d8
commit b8bedd5185
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 157 additions and 14 deletions

View File

@ -204,6 +204,10 @@ namespace Translation {
* Database sequence number for the term, or `-1` if multiple entries have been merged. * Database sequence number for the term, or `-1` if multiple entries have been merged.
*/ */
sequence: number; sequence: number;
/**
* The dictionary that the sequence number originated from, or `null` if there is no sequence.
*/
sequenceDictionary: string;
/** /**
* A list of inflections that was applied to get the term. * A list of inflections that was applied to get the term.
*/ */

View File

@ -265,7 +265,7 @@ class AnkiNoteDataCreator {
case 'merge': type = 'termMerged'; break; case 'merge': type = 'termMerged'; break;
} }
const {id, inflections, score, dictionaryIndex, dictionaryPriority, sourceTermExactMatchCount} = dictionaryEntry; const {id, inflections, score, dictionaryIndex, dictionaryPriority, sourceTermExactMatchCount, sequence} = dictionaryEntry;
const { const {
screenshotFileName=null, screenshotFileName=null,
@ -298,7 +298,7 @@ class AnkiNoteDataCreator {
reasons: inflections, reasons: inflections,
score, score,
isPrimary: (type === 'term' ? dictionaryEntry.isPrimary : void 0), isPrimary: (type === 'term' ? dictionaryEntry.isPrimary : void 0),
sequence: (type === 'term' ? dictionaryEntry.sequence : void 0), sequence,
get dictionary() { return self.getCachedValue(dictionaryNames)[0]; }, get dictionary() { return self.getCachedValue(dictionaryNames)[0]; },
dictionaryOrder: { dictionaryOrder: {
index: dictionaryIndex, index: dictionaryIndex,
@ -362,7 +362,9 @@ class AnkiNoteDataCreator {
} }
if (!hasDefinitions) { continue; } if (!hasDefinitions) { continue; }
const only = merged ? DictionaryDataUtil.getDisambiguations(dictionaryEntry.headwords, headwordIndices, allTermsSet, allReadingsSet) : void 0; const only = merged ? DictionaryDataUtil.getDisambiguations(dictionaryEntry.headwords, headwordIndices, allTermsSet, allReadingsSet) : void 0;
const {sequence} = dictionaryEntry;
definitions.push({ definitions.push({
sequence,
dictionary, dictionary,
glossary: entries, glossary: entries,
definitionTags: definitionTags2, definitionTags: definitionTags2,

View File

@ -353,7 +353,12 @@ class Translator {
if (mainDictionary === dictionary && sequence >= 0) { if (mainDictionary === dictionary && sequence >= 0) {
let group = groupedDictionaryEntriesMap.get(sequence); let group = groupedDictionaryEntriesMap.get(sequence);
if (typeof group === 'undefined') { if (typeof group === 'undefined') {
group = {ids: new Set(), dictionaryEntries: []}; group = {
sequence,
sequenceDictionary: dictionary,
ids: new Set(),
dictionaryEntries: []
};
sequenceList.push({query: sequence, dictionary}); sequenceList.push({query: sequence, dictionary});
groupedDictionaryEntries.push(group); groupedDictionaryEntries.push(group);
groupedDictionaryEntriesMap.set(sequence, group); groupedDictionaryEntriesMap.set(sequence, group);
@ -378,7 +383,7 @@ class Translator {
const newDictionaryEntries = []; const newDictionaryEntries = [];
for (const group of groupedDictionaryEntries) { for (const group of groupedDictionaryEntries) {
newDictionaryEntries.push(this._createGroupedDictionaryEntry(group.dictionaryEntries, true)); newDictionaryEntries.push(this._createGroupedDictionaryEntry(group.dictionaryEntries, group.sequence, group.sequenceDictionary, true));
} }
newDictionaryEntries.push(...this._groupDictionaryEntriesByHeadword(ungroupedDictionaryEntriesMap.values())); newDictionaryEntries.push(...this._groupDictionaryEntriesByHeadword(ungroupedDictionaryEntriesMap.values()));
return newDictionaryEntries; return newDictionaryEntries;
@ -480,7 +485,7 @@ class Translator {
const results = []; const results = [];
for (const dictionaryEntries2 of groups.values()) { for (const dictionaryEntries2 of groups.values()) {
const dictionaryEntry = this._createGroupedDictionaryEntry(dictionaryEntries2, false); const dictionaryEntry = this._createGroupedDictionaryEntry(dictionaryEntries2, -1, null, false);
results.push(dictionaryEntry); results.push(dictionaryEntry);
} }
return results; return results;
@ -933,12 +938,13 @@ class Translator {
return {index, headwordIndex, dictionary, dictionaryIndex, dictionaryPriority, hasReading, frequency}; return {index, headwordIndex, dictionary, dictionaryIndex, dictionaryPriority, hasReading, frequency};
} }
_createTermDictionaryEntry(id, isPrimary, sequence, inflections, score, dictionaryIndex, dictionaryPriority, sourceTermExactMatchCount, maxTransformedTextLength, headwords, definitions) { _createTermDictionaryEntry(id, isPrimary, sequence, sequenceDictionary, inflections, score, dictionaryIndex, dictionaryPriority, sourceTermExactMatchCount, maxTransformedTextLength, headwords, definitions) {
return { return {
type: 'term', type: 'term',
id, id,
isPrimary, isPrimary,
sequence, sequence,
sequenceDictionary,
inflections, inflections,
score, score,
dictionaryIndex, dictionaryIndex,
@ -969,6 +975,7 @@ class Translator {
id, id,
isPrimary, isPrimary,
sequence, sequence,
sequence >= 0 ? dictionary : null,
reasons, reasons,
score, score,
dictionaryIndex, dictionaryIndex,
@ -980,7 +987,7 @@ class Translator {
); );
} }
_createGroupedDictionaryEntry(dictionaryEntries, checkDuplicateDefinitions) { _createGroupedDictionaryEntry(dictionaryEntries, sequence, sequenceDictionary, checkDuplicateDefinitions) {
// Headwords are generated before sorting, so that the order of dictionaryEntries can be maintained // Headwords are generated before sorting, so that the order of dictionaryEntries can be maintained
const definitionEntries = []; const definitionEntries = [];
const headwords = new Map(); const headwords = new Map();
@ -1030,7 +1037,8 @@ class Translator {
return this._createTermDictionaryEntry( return this._createTermDictionaryEntry(
-1, -1,
isPrimary, isPrimary,
-1, sequence,
sequenceDictionary,
inflections !== null ? inflections : [], inflections !== null ? inflections : [],
score, score,
dictionaryIndex, dictionaryIndex,

View File

@ -8639,6 +8639,7 @@
"sourceTerm": "打ち込む", "sourceTerm": "打ち込む",
"reasons": [], "reasons": [],
"score": 10, "score": 10,
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -8825,6 +8826,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition13", "definition13",
@ -8852,6 +8854,7 @@
] ]
}, },
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition15", "definition15",
@ -9000,6 +9003,7 @@
"sourceTerm": "打ち込む", "sourceTerm": "打ち込む",
"reasons": [], "reasons": [],
"score": 10, "score": 10,
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -9150,6 +9154,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition17", "definition17",
@ -9177,6 +9182,7 @@
] ]
}, },
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition19", "definition19",
@ -9327,6 +9333,7 @@
"masu stem" "masu stem"
], ],
"score": 10, "score": 10,
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -9447,6 +9454,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition5", "definition5",
@ -9474,6 +9482,7 @@
] ]
}, },
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition7", "definition7",
@ -9576,6 +9585,7 @@
"masu stem" "masu stem"
], ],
"score": 10, "score": 10,
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -9696,6 +9706,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition9", "definition9",
@ -9723,6 +9734,7 @@
] ]
}, },
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition11", "definition11",
@ -9823,6 +9835,7 @@
"sourceTerm": "打", "sourceTerm": "打",
"reasons": [], "reasons": [],
"score": 1, "score": 1,
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -9937,6 +9950,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition1", "definition1",
@ -10037,6 +10051,7 @@
"sourceTerm": "打", "sourceTerm": "打",
"reasons": [], "reasons": [],
"score": 1, "score": 1,
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -10151,6 +10166,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": -1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition3", "definition3",
@ -10255,6 +10271,7 @@
"rawSource": "打ち込む", "rawSource": "打ち込む",
"reasons": [], "reasons": [],
"score": 10, "score": 10,
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -10506,6 +10523,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition13", "definition13",
@ -10536,6 +10554,7 @@
] ]
}, },
{ {
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition17", "definition17",
@ -10566,6 +10585,7 @@
] ]
}, },
{ {
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition15", "definition15",
@ -10596,6 +10616,7 @@
] ]
}, },
{ {
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition19", "definition19",
@ -10824,6 +10845,7 @@
"masu stem" "masu stem"
], ],
"score": 10, "score": 10,
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -10997,6 +11019,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition5", "definition5",
@ -11027,6 +11050,7 @@
] ]
}, },
{ {
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition9", "definition9",
@ -11057,6 +11081,7 @@
] ]
}, },
{ {
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition7", "definition7",
@ -11087,6 +11112,7 @@
] ]
}, },
{ {
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition11", "definition11",
@ -11216,6 +11242,7 @@
"rawSource": "打", "rawSource": "打",
"reasons": [], "reasons": [],
"score": 1, "score": 1,
"sequence": 1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -11305,6 +11332,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": 1,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition1", "definition1",
@ -11405,6 +11433,7 @@
"rawSource": "打", "rawSource": "打",
"reasons": [], "reasons": [],
"score": 1, "score": 1,
"sequence": 2,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -11494,6 +11523,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": 2,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition3", "definition3",
@ -19849,6 +19879,7 @@
"rawSource": "うちこむ", "rawSource": "うちこむ",
"reasons": [], "reasons": [],
"score": 10, "score": 10,
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -20100,6 +20131,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition13", "definition13",
@ -20130,6 +20162,7 @@
] ]
}, },
{ {
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition17", "definition17",
@ -20160,6 +20193,7 @@
] ]
}, },
{ {
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition15", "definition15",
@ -20190,6 +20224,7 @@
] ]
}, },
{ {
"sequence": 4,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition19", "definition19",
@ -20418,6 +20453,7 @@
"masu stem" "masu stem"
], ],
"score": 10, "score": 10,
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"dictionaryOrder": { "dictionaryOrder": {
"index": 0, "index": 0,
@ -20591,6 +20627,7 @@
], ],
"definitions": [ "definitions": [
{ {
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition5", "definition5",
@ -20621,6 +20658,7 @@
] ]
}, },
{ {
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition9", "definition9",
@ -20651,6 +20689,7 @@
] ]
}, },
{ {
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition7", "definition7",
@ -20681,6 +20720,7 @@
] ]
}, },
{ {
"sequence": 3,
"dictionary": "Test Dictionary 2", "dictionary": "Test Dictionary 2",
"glossary": [ "glossary": [
"definition11", "definition11",

View File

@ -253,6 +253,7 @@
"id": 1, "id": 1,
"isPrimary": true, "isPrimary": true,
"sequence": 1, "sequence": 1,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -384,6 +385,7 @@
"id": 2, "id": 2,
"isPrimary": true, "isPrimary": true,
"sequence": 2, "sequence": 2,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -521,6 +523,7 @@
"id": 3, "id": 3,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -654,6 +657,7 @@
"id": 5, "id": 5,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -787,6 +791,7 @@
"id": 4, "id": 4,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -920,6 +925,7 @@
"id": 6, "id": 6,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -1053,6 +1059,7 @@
"id": 1, "id": 1,
"isPrimary": true, "isPrimary": true,
"sequence": 1, "sequence": 1,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -1184,6 +1191,7 @@
"id": 2, "id": 2,
"isPrimary": true, "isPrimary": true,
"sequence": 2, "sequence": 2,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -1321,6 +1329,7 @@
"id": 7, "id": 7,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -1472,6 +1481,7 @@
"id": 9, "id": 9,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -1623,6 +1633,7 @@
"id": 8, "id": 8,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -1770,6 +1781,7 @@
"id": 10, "id": 10,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -1921,6 +1933,7 @@
"id": 3, "id": 3,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -2056,6 +2069,7 @@
"id": 5, "id": 5,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -2191,6 +2205,7 @@
"id": 4, "id": 4,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -2326,6 +2341,7 @@
"id": 6, "id": 6,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -2461,6 +2477,7 @@
"id": 1, "id": 1,
"isPrimary": true, "isPrimary": true,
"sequence": 1, "sequence": 1,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -2592,6 +2609,7 @@
"id": 2, "id": 2,
"isPrimary": true, "isPrimary": true,
"sequence": 2, "sequence": 2,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -2729,6 +2747,7 @@
"id": 11, "id": 11,
"isPrimary": true, "isPrimary": true,
"sequence": 5, "sequence": 5,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -2856,6 +2875,7 @@
"id": 1, "id": 1,
"isPrimary": true, "isPrimary": true,
"sequence": 1, "sequence": 1,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -2993,6 +3013,7 @@
"id": 2, "id": 2,
"isPrimary": true, "isPrimary": true,
"sequence": 2, "sequence": 2,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -3130,6 +3151,7 @@
"id": 3, "id": 3,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -3263,6 +3285,7 @@
"id": 4, "id": 4,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -3402,6 +3425,7 @@
"id": 5, "id": 5,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -3535,6 +3559,7 @@
"id": 6, "id": 6,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -3674,6 +3699,7 @@
"id": 7, "id": 7,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -3825,6 +3851,7 @@
"id": 8, "id": 8,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -3972,6 +3999,7 @@
"id": 3, "id": 3,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -4107,6 +4135,7 @@
"id": 4, "id": 4,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -4248,6 +4277,7 @@
"id": 9, "id": 9,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -4399,6 +4429,7 @@
"id": 10, "id": 10,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -4550,6 +4581,7 @@
"id": 5, "id": 5,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -4685,6 +4717,7 @@
"id": 6, "id": 6,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -4826,6 +4859,7 @@
"id": 11, "id": 11,
"isPrimary": true, "isPrimary": true,
"sequence": 5, "sequence": 5,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -4963,6 +4997,7 @@
"id": 7, "id": 7,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -5010,6 +5045,7 @@
"id": 9, "id": 9,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -5057,6 +5093,7 @@
"id": 8, "id": 8,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -5104,6 +5141,7 @@
"id": 10, "id": 10,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -5151,6 +5189,7 @@
"id": 3, "id": 3,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -5200,6 +5239,7 @@
"id": 5, "id": 5,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -5249,6 +5289,7 @@
"id": 4, "id": 4,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -5298,6 +5339,7 @@
"id": 6, "id": 6,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -5347,6 +5389,7 @@
"id": 1, "id": 1,
"isPrimary": true, "isPrimary": true,
"sequence": 1, "sequence": 1,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -5392,6 +5435,7 @@
"id": 2, "id": 2,
"isPrimary": true, "isPrimary": true,
"sequence": 2, "sequence": 2,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -5443,6 +5487,7 @@
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": -1,
"sequenceDictionary": null,
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -5655,6 +5700,7 @@
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": -1,
"sequenceDictionary": null,
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -5845,6 +5891,7 @@
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": -1,
"sequenceDictionary": null,
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -6019,6 +6066,7 @@
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": -1,
"sequenceDictionary": null,
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -6193,6 +6241,7 @@
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": -1,
"sequenceDictionary": null,
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -6324,6 +6373,7 @@
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": -1,
"sequenceDictionary": null,
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -6460,7 +6510,8 @@
"type": "term", "type": "term",
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -6842,7 +6893,8 @@
"type": "term", "type": "term",
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -7169,7 +7221,8 @@
"type": "term", "type": "term",
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": 1,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -7300,7 +7353,8 @@
"type": "term", "type": "term",
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": 2,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -7438,6 +7492,7 @@
"id": 7, "id": 7,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"-te", "-te",
"progressive or perfect", "progressive or perfect",
@ -7593,6 +7648,7 @@
"id": 9, "id": 9,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"-te", "-te",
"progressive or perfect", "progressive or perfect",
@ -7748,6 +7804,7 @@
"id": 8, "id": 8,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"-te", "-te",
"progressive or perfect", "progressive or perfect",
@ -7899,6 +7956,7 @@
"id": 10, "id": 10,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"-te", "-te",
"progressive or perfect", "progressive or perfect",
@ -8054,6 +8112,7 @@
"id": 3, "id": 3,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -8189,6 +8248,7 @@
"id": 5, "id": 5,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -8324,6 +8384,7 @@
"id": 4, "id": 4,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -8459,6 +8520,7 @@
"id": 6, "id": 6,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -8594,6 +8656,7 @@
"id": 1, "id": 1,
"isPrimary": true, "isPrimary": true,
"sequence": 1, "sequence": 1,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -8725,6 +8788,7 @@
"id": 2, "id": 2,
"isPrimary": true, "isPrimary": true,
"sequence": 2, "sequence": 2,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -8862,6 +8926,7 @@
"id": 7, "id": 7,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -9013,6 +9078,7 @@
"id": 9, "id": 9,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -9164,6 +9230,7 @@
"id": 8, "id": 8,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -9311,6 +9378,7 @@
"id": 10, "id": 10,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -9462,6 +9530,7 @@
"id": 3, "id": 3,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -9597,6 +9666,7 @@
"id": 5, "id": 5,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -9732,6 +9802,7 @@
"id": 4, "id": 4,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -9867,6 +9938,7 @@
"id": 6, "id": 6,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -10002,6 +10074,7 @@
"id": 1, "id": 1,
"isPrimary": true, "isPrimary": true,
"sequence": 1, "sequence": 1,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -10133,6 +10206,7 @@
"id": 2, "id": 2,
"isPrimary": true, "isPrimary": true,
"sequence": 2, "sequence": 2,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -10270,6 +10344,7 @@
"id": 7, "id": 7,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -10421,6 +10496,7 @@
"id": 9, "id": 9,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -10572,6 +10648,7 @@
"id": 8, "id": 8,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -10719,6 +10796,7 @@
"id": 10, "id": 10,
"isPrimary": true, "isPrimary": true,
"sequence": 4, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -10870,6 +10948,7 @@
"id": 3, "id": 3,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -11005,6 +11084,7 @@
"id": 5, "id": 5,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -11140,6 +11220,7 @@
"id": 4, "id": 4,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -11275,6 +11356,7 @@
"id": 6, "id": 6,
"isPrimary": true, "isPrimary": true,
"sequence": 3, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -11410,6 +11492,7 @@
"id": 1, "id": 1,
"isPrimary": true, "isPrimary": true,
"sequence": 1, "sequence": 1,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -11541,6 +11624,7 @@
"id": 2, "id": 2,
"isPrimary": true, "isPrimary": true,
"sequence": 2, "sequence": 2,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 1, "score": 1,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -11678,6 +11762,7 @@
"id": 12, "id": 12,
"isPrimary": true, "isPrimary": true,
"sequence": 6, "sequence": 6,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],
@ -11760,6 +11845,7 @@
"id": 13, "id": 13,
"isPrimary": true, "isPrimary": true,
"sequence": 7, "sequence": 7,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 90, "score": 90,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -11826,6 +11912,7 @@
"id": 12, "id": 12,
"isPrimary": true, "isPrimary": true,
"sequence": 6, "sequence": 6,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"polite past" "polite past"
], ],
@ -11907,7 +11994,8 @@
"type": "term", "type": "term",
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": 4,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [], "inflections": [],
"score": 10, "score": 10,
"dictionaryIndex": 0, "dictionaryIndex": 0,
@ -12289,7 +12377,8 @@
"type": "term", "type": "term",
"id": -1, "id": -1,
"isPrimary": true, "isPrimary": true,
"sequence": -1, "sequence": 3,
"sequenceDictionary": "Test Dictionary 2",
"inflections": [ "inflections": [
"masu stem" "masu stem"
], ],