无法在天蓝色搜索中搜索超过 20 个字符

Unable to search for more than 20 chars in azure search

我们目前 运行 在扩展我们当前的 Azure 搜索功能时遇到了问题。 当我们在 Azure 搜索中索引了以下字符串时:

AEDE190EACWWG4VGLDE02000UHKPT

我们搜索了那个完整的字符串,但找不到。 然而,当我们只使用 20 个字符时,我们能够找到它。 所以使用下面的字符串,我们能够找到它

AEDE190EACWWG4VGLDE

然而,当再添加 1 个字符时,它又消失了。这不仅在我们的实施范围内。在查询字符串

中输入时,这本身也是天蓝色的

字段设置为

有人知道如何解决这个问题吗?

我现在测试了你的方案,它工作正常。我无法重现您遇到的问题。您没有指定使用哪个分析器,所以我假设您使用的是标准分析器。

这是我测试的方法。

  1. 我创建了一个包含两个字段 Id 和 Ordcode 的新索引。

  2. 我通过Postman上传了两条记录

    "value": [
    {
        "@search.action": "mergeOrUpload",
        "Id": "1",
        "Ordcode" : "AEDE190EACWWG4VGLDE02000UHKPT"
    },
    {
        "@search.action": "mergeOrUpload",
        "Id": "2",
        "Ordcode": "ABC123"
    }]
    
  3. 我使用 searchMode=all、queryType=full 搜索字符串 AEDE190EACWWG4VGLDE02000UHKPT。响应符合预期。

    {
    "@odata.context": "https://<search-service>.search.windows.net/indexes('dg-test-65143696')/$metadata#docs(*)",
    "@odata.count": 1,
    "value": [
        {
            "@search.score": 0.2876821,
            "Id": "1",
            "Ordcode": "AEDE190EACWWG4VGLDE02000UHKPT"
        }
    ]
    

    }

  4. 我还尝试通过 Azure 门户中的搜索资源管理器进行重现,即使使用简单模式和任何模式(默认)也是如此。

    search=AEDE190EACWWG4VGLDE02000UHKPT&$count=true&$select=Id,Ordcode

生成的令牌有限制(取决于您使用的分析器),但它不是 20,除非您定义了更短的最大令牌长度。