gpt4 book ai didi

c# - Azure 搜索,精确短语匹配

转载 作者:行者123 更新时间:2023-12-02 06:32:56 25 4
gpt4 key购买 nike

我们有一个 azure 的网络应用程序,其中有一个搜索框,当我们输入带双引号的文本(例如“应用程序服务”)时,它会列出带有“应​​用程序服务”的记录,但它还包括单词之间具有特殊字符的记录,例如“应用程序/服务”。我们希望搜索引擎返回与搜索短语完全匹配的记录(不包括搜索词之间具有特殊字符的记录)。

最佳答案

在您的情况下,标准分析器将术语应用/服务分解为两个单独的术语应用服务在索引时。这就是为什么短语“App Service”将文档与 App/Service 相匹配 - 这两个版本对于搜索引擎来说看起来相同。

如果术语应用/服务构成字段的全部内容,您可以使用关键字分析器将该字段的内容索引为单个标记。在此了解更多信息:Custom Analyzers in Azure Search .

如果术语应用/服务作为句子的一部分出现,那么关键字分析器将不是一个好的选择。在这种情况下,您可以将 / 字符替换为 standard 分词器不会分割的另一个字符,例如:_。为此使用 mapping 字符标记过滤器:

charFilters: [
{
"name":"map_char_mapping",
"@odata.type":"#Microsoft.Azure.Search.MappingCharFilter",
"mappings":[ "/=>_" ]
}
]

以下文章将帮助您了解词法分析器在搜索和索引时的应用方式:How to practially use a keywordanalyzer in azure-search?

关于c# - Azure 搜索,精确短语匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42361449/

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