【发布时间】:2017-11-13 12:27:07
【问题描述】:
我正在使用 Lucene.net 并尝试实施 SynonymFilter 以在我的产品数据库中的项目可以以不同方式命名或拼写不同时提供扩展术语 - 例如。 “扳手”>“扳手”,或“割草机”>“割草机”。
作为测试,我设置了一个 SynonymMap 如下:
String base1 = "lawnmower";
String syn1 = "lawn mower";
String base2 = "spanner";
String syn2 = "wrench";
SynonymMap.Builder sb = new SynonymMap.Builder(true);
sb.Add(new CharsRef(base1), new CharsRef(syn1), true);
sb.Add(new CharsRef(base2), new CharsRef(syn2), true);
SynonymMap smap = sb.Build();
搜索“spanner”或“wrench”会返回所有包含其中任何一个词的词。搜索“lawn mower”或“lawnmower”只会返回与输入搜索条件完全匹配的词。
对于同义词中的多个单词短语是否需要做其他事情?
另外,我如何扩展为 3 个或更多术语,例如“割草机”、“割草机”、“割草机”、“割草机”?
谢谢
【问题讨论】:
标签: lucene lucene.net synonym