我能够在我的自定义分析器中使用同义词,但是只有在输入的短语与输入的“键”匹配时,它才能正常工作。我希望能够将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);
我可以清理它,以便它遍历一个列表并为每个列表添加一个地图,我只是想使问题保持清晰。
如果我有一个管理成百上千个单词的同义词的数据库...是否希望为每种可能的组合简单地添加成千上万的地图?