我正在构建一个由Azure搜索支持的机器人,我们定义了一个同义词映射图,将其添加到现有索引中,但是当我们按仅以同义词形式存在且未建立索引的术语进行搜索时,搜索结果与添加之前相同同义词图,似乎同义词已被完全忽略。
有没有办法检查是否考虑了地图,为什么我的查询没有考虑到地图?
答案 0 :(得分:0)
调用/ indexes / [您的索引名称]?api-version = 2017-11-11端点以获取索引定义,然后检查同义词映射表是否已附加至正确的字段,该字段应如下所示:>
{
"name": "[your field name]",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"retrievable": true,
"sortable": true,
"facetable": false,
"key": false,
"indexAnalyzer": null,
"searchAnalyzer": null,
"analyzer": null,
"synonymMaps": [
"topicmap"
]
},
如果不存在topicmap,则应通过调用同一端点的POST方法来更新索引定义。
答案 1 :(得分:0)
我将synonymmap字段属性添加到索引中的所有字段。我们必须在创建索引时执行此步骤。就我而言,这是可行的。
答案 2 :(得分:0)
我通过将synonymMaps字段添加到索引中的所有其他相关字段来解决了该问题。例如,我的索引具有“位置”字段,我对其进行了如下所示的修改: { “ name”:“地点”, “ type”:“ Collection(Edm.String)”, “可搜索”:是, “可过滤的”:是的, “可检索”:是的, “ sortable”:假, “ facetable”:false, “密钥”:false, “ indexAnalyzer”:null, “ searchAnalyzer”:null, “ analyzer”:“ en.lucene”, “ synonymMaps”:[ “ mysynonymmap” ] }
因此,您还应该将同义词映射表添加到其他字段。