azure - 为什么该字段不接受词法分析

标签 azure azure-cognitive-search

我试图让我的搜索忽略单词重音

为此,我决定使用语言分析器:es.microsoft

我在分析器 API 中使用单词“Lámpara”测试分析器,得到以下结果:

    {
        "token": "lampara",
        "startOffset": 0,
        "endOffset": 7,
        "position": 0
    },
    {
        "token": "lámpara",
        "startOffset": 0,
        "endOffset": 7,
        "position": 0
    }

我的测试索引中只有 2 个文档:

    {
        "@search.score": 1,
        "Id": "2",
        "Nombre": "Lampara"
    },
    {
        "@search.score": 1,
        "Id": "1",
        "Nombre": "Lámpara"
    }

在索引中搜索单词时search=Lámpara,我得到以下结果:

   {
        "@search.score": 0.30685282,
        "Id": "1",
        "Nombre": "Lámpara"
    }

出于什么原因,仅收到 Nombre =“Lámpara”而不是 Nombre =“Lampara”(不带重音)的文档。我的印象是 Name 字段没有发送到词法分析

我的索引的定义如下

   {
    "name": "test",
    "fields": [
    {
    "name": "Id",
    "type": "Edm.String",
    "facetable": false,
    "filterable": true,
    "key": true,
     "retrievable": true,
     "searchable": false,
     "sortable": false,
     "analyzer": null,
     "indexAnalyzer": null,
     "searchAnalyzer": null,
     "synonymMaps": [],
     "fields": []
    },
    {
     "name": "Nombre",
     "type": "Edm.String",
    "facetable": false,
    "filterable": false,
    "key": false,
    "retrievable": true,
    "searchable": true,
    "sortable": false,
    "analyzer": "es.microsoft",
  "indexAnalyzer": null,
  "searchAnalyzer": null,
  "synonymMaps": [],
  "fields": []
  }
 ],
 "suggesters": [],
 "scoringProfiles": [],
  "defaultScoringProfile": null,
  "corsOptions": null,
  "analyzers": [],
  "charFilters": [],
  "tokenFilters": [],
  "tokenizers": []
   }

我将不胜感激任何帮助,并对我糟糕的英语表示歉意

最佳答案

很抱歉耽误了您的答复。事实上,微软西类牙语分析器目前只折叠文档中的重音,因此它们可以通过放弃重音的查询来匹配(正如您所提到的,搜索 Lampara,它将匹配包含 Lámpara 的文档,但如果您在查询(例如,搜索 Lámpara),它不会匹配没有任何重音符号的文档。

如果此行为对您很重要,您可以使用 es.lucene 分析器,它实际上在索引和搜索时执行“ascii 折叠”(删除重音符号)。

关于azure - 为什么该字段不接受词法分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58546591/

相关文章:

azure - 如何在azure搜索中使用sql like子句?

azure - Elastic 搜索与 Azure 搜索

azure - 无法通过 terraform 和 AZ CLI 使用 Standard3 高密度 SKU 创建 Azure 搜索服务,但出现错误

Azure 存储防火墙向 Azure 应用服务开放

azure - ServiceBusTrigger处理Deadletter消息

Android 从 Azure Blob 存储下载导致文件无效

azure-cognitive-search - Azure 搜索评分

azure - 如何将 JSON 传递到 Azure 函数并在 Azure 数据工厂 V2 中嵌入动态内容

azure - 从同一数据中心内的 VM 连接到 Azure SQL 数据库时,是否真的有必要使用 transient 重试逻辑?

Azure搜索,从SQL导入时有没有办法添加查询