Azure 搜索同义词未反映在结果中



同义词似乎在 Azure 搜索中不起作用

我使用以下有效载荷更新了我的同义词映射 {
"name" : "synonymmap1","format" : "solr",

"synonyms" :

"Bob, Bobby,Bobbyn
Bill, William, Billyn
Harold, Harryn
Elizabeth, Bethn
Michael,Miken
Robert, Robn"

}

然后当我检查同义词地图时,我看到这个

{

"@odata.context": 
"https://athenasearchdev.search.windows.net/$metadata#synonymmaps",
"value": [
{
"@odata.etag": ""0x8D4E7F3C1A9404D"",
"name": "synonymmap1",
"format": "solr",
"synonyms": "Bob, Bobby,Bobbynrn    Bill, William, Billynrn    Harold, Harrynrn    Elizabeth, Beth,Liza, Elizenrn    Michael,Mikenrn    Robert, Robnrn"
}
]

}

但是,同义词似乎不起作用。 例如,在迈克和迈克尔上搜索的结果不相同?

我知道这是一个预览功能,但需要以下方面的帮助

a( 一旦被定义为同义词,我们是否应该期望在所有同义词变体中得到完全相同的结果和搜索分数

b( 这些同义词是否可以在列级别适用(例如,仅名而不适用地址(- 还是始终适用于整个文档

c( 如果我们有大量的同义词(超过 1000 个(- 它会导致性能影响吗?

我是来自Azure Search的Nate。首先回答问题:

a( 是的,你应该。如果"比尔"和"威廉姆斯"被定义为同义词。搜索任何一个应该产生相同的结果。

b( 它始终在列级别。您可以使用名为"同义词映射"的字段/列属性来指定要使用的同义词映射。有关详细信息,请参阅 https://azure.microsoft.com/en-us/blog/azure-search-synonyms-public-preview/中的"在索引定义中设置同义词映射"。

c( 你的意思是一个单词超过 1000 个同义词吗?还是同义词映射中的 1000 个同义词规则?前者肯定会影响性能,因为搜索查询将扩展到 1000 个字词。实际上,不能在规则中定义超过 50 个同义词。后者,同义词映射中的 1000 条规则不应影响性能,除非规则不断更新。

关于您关于同义词不起作用的评论,根据您的问题,我想知道索引定义中是否启用了同义词功能。您能否检查一下,如果它不起作用,请随时给我发送电子邮件 nateko@microsoft.com。

您在检索到的同义词映射中看到的无关新行字符可能是由上传时使用的 http 客户端插入的。一些 http 客户端,例如小提琴手和邮递员,会自动在行尾插入换行符,这样您就不必自己动手了。

谢谢

内特

最新更新