我可以在我的自定义分析器中使用同义词,但只有当输入的短语与输入的“键”匹配时,它才能正常工作。我希望能够将2+列表中的任何同义词与
任何其他
同一列表中的同义词。
var map = new SynonymMap.Builder(true);
var synonyms = string.Join("\0", new string[] { "broken", "break", "malfunction" });
map.Add(new CharsRef("broke"), new CharsRef(synonyms), true);
stream = new SynonymFilter(stream, map.Build(), true);
我应该为每个同义词添加地图吗?
var synonyms2 = string.Join("\0", new string[] { "broke", "break", "malfunction" });
map.Add(new CharsRef("broken"), new CharsRef(synonyms2), true);
var synonyms3 = string.Join("\0", new string[] { "broken", "break", "broke" });
map.Add(new CharsRef("malfunction"), new CharsRef(synonyms3), true);
我可以清理它,使它在一个列表中循环,并为每个列表添加一个映射,我只是想把问题弄清楚。
如果我有一个管理数百或数千个单词同义词的数据库。。。是否只需为每种可能的组合添加数万张地图?