Mapping Lucene.NET双向同义词

Mapping Lucene.NET双向同义词,mapping,lucene.net,synonym,Mapping,Lucene.net,Synonym,我可以让同义词在我的自定义分析器中工作,但只有当输入的短语与输入的“键”匹配时,同义词才能正常工作。我希望能够将2+列表中的任何同义词与同一列表中的任何其他同义词进行匹配 var map = new SynonymMap.Builder(true); var synonyms = string.Join("\0", new string[] { "broken", "break", "malfunction" }); map.Add(new Cha

我可以让同义词在我的自定义分析器中工作,但只有当输入的短语与输入的“键”匹配时,同义词才能正常工作。我希望能够将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);
我可以清理它,让它在一个列表中循环,并为每个列表添加一个映射,我只是想把问题弄清楚

如果我有一个数据库管理数百或数千个单词的同义词。。。是否只需为每种可能的组合添加数万张地图