无法在天蓝色搜索中搜索超过 20 个字符
Unable to search for more than 20 chars in azure search
我们目前 运行 在扩展我们当前的 Azure 搜索功能时遇到了问题。
当我们在 Azure 搜索中索引了以下字符串时:
AEDE190EACWWG4VGLDE02000UHKPT
我们搜索了那个完整的字符串,但找不到。
然而,当我们只使用 20 个字符时,我们能够找到它。
所以使用下面的字符串,我们能够找到它
AEDE190EACWWG4VGLDE
然而,当再添加 1 个字符时,它又消失了。这不仅在我们的实施范围内。在查询字符串
中输入时,这本身也是天蓝色的
字段设置为
- 可检索
- 可过滤
- 可搜索
有人知道如何解决这个问题吗?
我现在测试了你的方案,它工作正常。我无法重现您遇到的问题。您没有指定使用哪个分析器,所以我假设您使用的是标准分析器。
这是我测试的方法。
我创建了一个包含两个字段 Id 和 Ordcode 的新索引。
我通过Postman上传了两条记录
"value": [
{
"@search.action": "mergeOrUpload",
"Id": "1",
"Ordcode" : "AEDE190EACWWG4VGLDE02000UHKPT"
},
{
"@search.action": "mergeOrUpload",
"Id": "2",
"Ordcode": "ABC123"
}]
我使用 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"
}
]
}
我还尝试通过 Azure 门户中的搜索资源管理器进行重现,即使使用简单模式和任何模式(默认)也是如此。
search=AEDE190EACWWG4VGLDE02000UHKPT&$count=true&$select=Id,Ordcode
生成的令牌有限制(取决于您使用的分析器),但它不是 20,除非您定义了更短的最大令牌长度。
我们目前 运行 在扩展我们当前的 Azure 搜索功能时遇到了问题。 当我们在 Azure 搜索中索引了以下字符串时:
AEDE190EACWWG4VGLDE02000UHKPT
我们搜索了那个完整的字符串,但找不到。 然而,当我们只使用 20 个字符时,我们能够找到它。 所以使用下面的字符串,我们能够找到它
AEDE190EACWWG4VGLDE
然而,当再添加 1 个字符时,它又消失了。这不仅在我们的实施范围内。在查询字符串
中输入时,这本身也是天蓝色的字段设置为
- 可检索
- 可过滤
- 可搜索
有人知道如何解决这个问题吗?
我现在测试了你的方案,它工作正常。我无法重现您遇到的问题。您没有指定使用哪个分析器,所以我假设您使用的是标准分析器。
这是我测试的方法。
我创建了一个包含两个字段 Id 和 Ordcode 的新索引。
我通过Postman上传了两条记录
"value": [ { "@search.action": "mergeOrUpload", "Id": "1", "Ordcode" : "AEDE190EACWWG4VGLDE02000UHKPT" }, { "@search.action": "mergeOrUpload", "Id": "2", "Ordcode": "ABC123" }]
我使用 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" } ]
}
我还尝试通过 Azure 门户中的搜索资源管理器进行重现,即使使用简单模式和任何模式(默认)也是如此。
search=AEDE190EACWWG4VGLDE02000UHKPT&$count=true&$select=Id,Ordcode
生成的令牌有限制(取决于您使用的分析器),但它不是 20,除非您定义了更短的最大令牌长度。