在Azure搜索中,同义词似乎不起作用
我用以下有效载荷更新了同义词映射
"name" : "synonymmap1", "format" : "solr", "synonyms" : "Bob, Bobby,Bobby\n
Bill, William, Billy\n
Harold, Harry\n
Elizabeth, Beth\n
Michael,Mike\n
Robert, Rob\n"}
当我检查synonymMap时,我看到了这个
{
"@odata.context":
"https://athenasearchdev.search.windows.net/$metadata#synonymmaps",
"value": [
{
"@odata.etag": "\"0x8D4E7F3C1A9404D\"",
"name": "synonymmap1",
"format": "solr",
"synonyms": "Bob, Bobby,Bobby\n\r\n Bill, William, Billy\n\r\n Harold, Harry\n\r\n Elizabeth, Beth,Liza, Elize\n\r\n Michael,Mike\n\r\n Robert, Rob\n\r\n"
}
]}
然而,同义词似乎不起作用。迈克和迈克尔的搜索结果不一样吗?
我理解这是一个预览功能,但需要在以下方面提供帮助
( a)一旦被定义为同义词,我们不应该期望在所有同义词变体中得到完全相同的结果和搜索分数
( b)这些同义词是否适用于列级(例如,名称而非地址)-还是总是跨文档
( c)如果我们有大量的同义词(超过1000个)--它是否会对性能产生影响?
发布于 2017-08-22 16:50:21
我是Azure搜索公司的内特。首先回答以下问题:
a)是的,你应该。如果"Bill“和"Williams”被定义为同义词的话。搜索这两种方法都会得到相同的结果。
( b)它总是在列级。您可以使用名为“synonymMaps”的字段/列属性来指定要使用的同义词映射。有关更多信息,请参见https://azure.microsoft.com/en-us/blog/azure-search-synonyms-public-preview/中的“在索引定义中设置同义词映射”。
你的意思是一个词的同义词超过1000个吗?还是同义词图中的1000个同义词规则?前者肯定会影响性能,因为搜索查询将扩展到1000个术语。事实上,在一条规则中不能定义超过50个同义词。后者,除非规则不断更新,否则同义词映射中的1000 s规则不应该影响性能。
关于同义词不起作用的评论,根据您的问题,我想知道在索引定义中是否启用了同义词特性。你能检查一下吗?如果它不起作用,可以在nateko@microsoft.com给我发一封电子邮件。
您在检索到的同义词映射中看到的额外的新行字符可能是由您在上载时使用的http客户机插入的。例如,一些http客户端、吹手和邮递员会在行尾自动插入新的行字符,这样您就不必自己动手了。
谢谢,
内特
https://stackoverflow.com/questions/45785401
复制相似问题