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

Posted

技术标签:

【中文标题】Azure 搜索语言分析器和变音符号【英文标题】:Azure search Language analyzers and diacritics 【发布时间】:2021-10-30 19:16:51 【问题描述】:

我们正在设置一个 azure 搜索索引,并且我们正在使用语言分析器,这似乎工作得很好。 (拆分单词,添加词干等)但是,我们遇到了变音符号(重音)的问题。

在荷兰语中,patient 写作patiënt。将包含patiënt 的文本添加到设置为microsoft.nl 的字段时,它还会添加patient 的标记。因此,如果我搜索 patient(不带 ë),它也会找到此文档。

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

对此的正确解决方案是什么?我希望是否在搜索文本中添加变音符号并不重要。我一直在寻找自定义分析器以完全删除变音符号,但它们似乎与语言分析器不兼容

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

当前字段定义:


    "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": []

【问题讨论】:

【参考方案1】:

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


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

【讨论】:

是的,这只会解决这个特定的情况,而不是所有带有变音符号的情况。我已经更新了我的问题以澄清

以上是关于Azure 搜索语言分析器和变音符号的主要内容,如果未能解决你的问题,请参考以下文章

PayPal IPN 验证和变音符号

LUA:如何正确读取带有重音字母和变音符号的 UFT8 文件名和路径?

彩色变音符号和unicode行为

BLE MIDIMIDI 时间标志分析 ( 音符速度设置事件 | 拍号设置事件 | 基本时间 - 每个四分音符有多少 tick 或 pulse | 节拍时值计算 | 小节时值计算 )

Azure 机器学习批处理请求返回带有 Unix 的格式错误的变音符号

swift 3 - 搜索结果也带有变音符号