我正在尝试在 Azure 搜索中使用同义词映射,但遇到了问题。我希望将多个单词和短语映射到一个搜索查询中。
换句话说,当我搜索任何一个时:
产品 123 ,产品0123 ,产品 0123
我希望搜索返回查询短语的结果:
产品123。
阅读教程后,一切似乎都非常简单。
我正在使用 .Net Azure.Search SDK 5.0,所以我完成了以下操作:
var synonymMap = new SynonymMap
{
Name = "test-map",
Format = SynonymMapFormat.Solr,
Synonyms = "product 123, product0123, product 0123=>product123\n"
};
_searchClient.SynonymMaps.CreateOrUpdate(synonymMap);
我在其中一个搜索字段上使用地图
index.Fields.First(x => x.Name == "Title").SynonymMaps = new[] {"test-map"};
到现在为止还挺好。现在,如果我搜索product0123 ,我会得到product123的结果,如我所料。但是,如果我搜索短语产品 123或产品 0123,我会得到一堆不相关的结果。就好像同义词映射不适用于多词项目。
所以猜我的问题是,我是否错误地使用了同义词映射,或者这些映射仅适用于单个词的同义词?