没有考虑Azure搜索同义词

时间:2019-01-22 11:04:13

标签: azure-search

我正在构建一个由Azure搜索支持的机器人,我们定义了一个同义词映射图,将其添加到现有索引中,但是当我们按仅以同义词形式存在且未建立索引的术语进行搜索时,搜索结果与添加之前相同同义词图,似乎同义词已被完全忽略。

有没有办法检查是否考虑了地图,为什么我的查询没有考虑到地图?

3 个答案:

答案 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”                     ]                 }

因此,您还应该将同义词映射表添加到其他字段。