首页 > 解决方案 > Azure 搜索:日文搜索片假名和平假名

问题描述

我用 ja.microsoft 分析器创建了搜索索引,就我在 katkana 中搜索字符而言,它工作正常。但是当使用平假名字符时,搜索不起作用并且不返回搜索结果。

例:用平假名搜索名字不能打到片假名名字,反之亦然:​ 要打“外星谷キツ”(名字是片假名),但搜索“きつ”(平假名)。打不开。​点击“元广あえか”(片假名的拼音字符),搜索“アエカ”;但是,它没有得到它。​</p>

Azure 搜索是否支持任何支持所有写作方案(平假名、Kankana、Kanji 等)的分析器,或者我需要为此使用其他一些技术?

标签: azure-cognitive-search

解决方案


Lucene 和 Microsoft 日语分析器都不会为平假名生成片假名标记,反之亦然。分析器将为给定的音节创建标记。

您可以使用分析 API查看为特定字符串生成了哪些令牌。

例如,使用以下输入调用分析 API:

{
  "text": "元廣 あえか&quot;,
  "analyzer": "ja.microsoft"
}

返回:

{
    "@odata.context": "https://service-name.search.windows.net/$metadata#Microsoft.Azure.Search.V2019_05_06.AnalyzeResult",
    "tokens": [
        {
            "token": "元廣",
            "startOffset": 0,
            "endOffset": 2,
            "position": 0
        },
        {
            "token": "あえか&quot;,
            "startOffset": 3,
            "endOffset": 6,
            "position": 1
        }
    ]
}

推荐阅读