gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 02:46:22 26 4
gpt4 key购买 nike

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

为此,我决定使用语言分析器: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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com