Lucene.NET 2-Way同义词

时间:2019-05-05 18:01:00

标签: mapping lucene.net synonym

我能够在我的自定义分析器中使用同义词,但是只有在输入的短语与输入的“键”匹配时,它才能正常工作。我希望能够将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);

我可以清理它,以便它遍历一个列表并为每个列表添加一个地图,我只是想使问题保持​​清晰。

如果我有一个管理成百上千个单词的同义词的数据库...是否希望为每种可能的组合简单地添加成千上万的地图?

0 个答案:

没有答案