azure - Azure 搜索中所需的字符数

标签 azure azure-cognitive-search

我已经制作了一个 azure 的搜索服务,它已经启动并正在运行。我希望用户能够使用 3 个或更多字符进行搜索。 我在不同的文档中有以下文本:

  1. 扑热息痛 200mg
  2. 扑热息痛 150mg
  3. Kodein/扑热息痛 SA

当我搜索“par”时,我没有得到任何结果。我必须输入 5 个字符 (parac),结果得到 1 和 2。我也希望这个结果为“标准杆”。这可能吗?我在文档中找不到有关设置搜索所需字符数的任何内容。

最佳答案

为了获得最佳性能,您可以在索引中启用“快速”前缀分析器,它会在索引时将每个标记分解为前缀列表。以下是有关如何执行此操作的一些附加信息:https://azure.microsoft.com/en-us/blog/custom-analyzers-in-azure-search/

这需要您重新索引数据,因此如果您要创建全新的索引,这是一个选项。

如果无法重新建立索引,您可以在查询中使用后缀操作“*”。以下是有关后缀运算符的更多信息:https://learn.microsoft.com/en-us/rest/api/searchservice/Simple-query-syntax-in-Azure-Search?redirectedfrom=MSDN

我怀疑使用后缀运算符进行搜索(或在使用快速前缀分析器时重新索引)也适用于您列出的第三个文档(Kodein/paracetamol SA)。如果它仍然不起作用,可能是由于您使用的分词器未在“/”字符上进行分割。默认分析器应正确拆分“/”,但如果您使用自定义分析器,则整个“Kodein/paracetamol”表达式可能会被标记为单个术语,这可以解释为什么搜索 parace* 不会返回文档,因为文档的前缀是“kode…”。

关于azure - Azure 搜索中所需的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50700622/

相关文章:

Azure 搜索未返回正确的结果。搜索查询中的(点)

azure - 如何在azure搜索中过滤空字符串

Azure搜索如何忽略空blob文件(没有内容)?

Azure 公开 API 与 API 权限

azure - 如何在 Azure 存储资源管理器中重命名 blob 文件?

azure - 以非 root 身份运行自定义脚本扩展

azure - 如何从 Azure VM 收集 SSH 日志并将其推送到日志分析工作区

c# - 在 Azure 搜索中,如何将日期时间字段与日期时间文字进行比较?

Azure 认知搜索查找类似文档用例

azure - Azure Active Directory 中的单点登录的自定义域为 "not planned"