Support ngram typos + splitwords and splitwords+synonyms in proximity

This commit is contained in:
Loïc Lecrenier
2023-03-13 17:21:29 +01:00
parent 14e8d0aaa2
commit 3004e281d7
9 changed files with 701 additions and 411 deletions

View File

@ -447,6 +447,8 @@ results.{random} {{
use_prefix_db,
synonyms,
split_words,
prefix_of,
is_prefix: _,
} = ctx.derivations_interner.get(*derivations);
let original = ctx.word_interner.get(*original);
@ -460,6 +462,10 @@ shape: class"
let w = ctx.word_interner.get(w);
writeln!(file, "\"{w}\" : 0").unwrap();
}
for w in prefix_of.iter().copied() {
let w = ctx.word_interner.get(w);
writeln!(file, "\"{w}\" : 0P").unwrap();
}
for w in one_typo.iter().copied() {
let w = ctx.word_interner.get(w);
writeln!(file, "\"{w}\" : 1").unwrap();
@ -478,8 +484,9 @@ shape: class"
let phrase_str = phrase.description(&ctx.word_interner);
writeln!(file, "\"{phrase_str}\" : synonym").unwrap();
}
if *use_prefix_db {
writeln!(file, "use prefix DB : true").unwrap();
if let Some(use_prefix_db) = use_prefix_db {
let p = ctx.word_interner.get(*use_prefix_db);
writeln!(file, "use prefix DB : {p}").unwrap();
}
for (d, edges) in distances.iter() {
writeln!(file, "\"distance {d}\" : {:?}", edges.iter().collect::<Vec<_>>())