我正在尝试在Azure搜索中使用同义词映射,但遇到了问题。 我想让几个单词和短语映射到一个搜索查询中。
换句话说,当我搜索以下内容时:
product 123, product0123, product 0123
我希望搜索返回一个查询短语的结果:
product123。
阅读完教程后,一切似乎都很简单明了。
我正在使用.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的结果,这是我所期望的。但是,如果我搜索一个短语product 123或product 0123,我会得到一堆无关的结果。几乎可以说同义词映射不能与多个单词的项一起使用。
因此,我的问题是,我是否错误地使用了同义词映射,或者这些映射只能与单个单词的同义词一起使用?