Azure搜索语言分析器和变音符号



我们正在建立一个azure搜索索引,我们正在使用语言分析器,它看起来工作得很好。(拆分单词,添加词干等)然而,我们有一个变音符(重音)的问题。

在荷兰语中,patient写成patiënt。当将包含patiënt的文本添加到设置为microsoft.nl的字段时,也会添加patient的令牌。因此,如果我搜索patient(没有ë),它也会找到这个文档。

当情况相反时,问题就出现了。如果有人在文档中键入patient(因为他懒得添加ë),则标记器不会添加patiënt标记。当有人现在搜索patiënt时,没有找到该文档。

这个问题的正确解决方案是什么?我希望在搜索文本中是否添加变音符号并不重要。我一直在寻找自定义分析程序来完全删除变音符号,但是它们似乎不能很好地与语言分析程序

配合使用。澄清一下:我正在寻找一个解决方案,适用于所有带有变音符号的情况,而不仅仅是这个特定的单词

当前字段定义:

{
"name": "Contents_nlnl",
"type": "Edm.String",
"facetable": false,
"filterable": false,
"key": false,
"retrievable": false,
"searchable": true,
"sortable": false,
"analyzer": "nl.microsoft",
"indexAnalyzer": null,
"searchAnalyzer": null,
"synonymMaps": [],
"fields": []
}

可以使用带有显式映射的同义词映射https://learn.microsoft.com/en-us/azure/search/search-synonyms#explicit-mapping请看下面的例子

{
"name": "patient",
"format": "solr",
"synonyms": "patient=> patiënt"
}

最新更新