【问题标题】:How to remove highlights tags before in Azure Cognitive Search documents before searching如何在搜索前删除 Azure 认知搜索文档中的突出显示标签
【发布时间】:2021-07-29 01:24:50
【问题描述】:

默认情况下,Azure 搜索会突出显示带有 <em> 标记的搜索结果。我遇到过用户上传带有该标签的文档的情况:

<em>Today</em> topic will be...

当我搜索“主题”时,我会得到:

<em>Today</em> <em>topic</em> will be...

而且我无法区分正确的亮点。

我知道我可以修改 highlight_pre_tag 和 highlight_post_tag 所以我会在这种特殊情况下避免这种情况。但是在应用亮点之前还有其他方法可以对这些标签进行编码吗?

编辑: 通过编码,我的意思是得到这样的东西:

&lt;em&gt;Today&lt;/em&gt; <em>topic</em> will be...;

所以我可以将它发送到前端,然后将“今天”中的&amp;lt;em&amp;gt; 显示为&amp;lt;em&amp;gt;,并在“主题”中使用&amp;lt;em&amp;gt; 将其突出显示为黄色。

【问题讨论】:

  • But is there other way to encode this tags before appyling highlighs? - 你能描述一下你的意思吗?
  • @GauravMantri 我已经更新了问题

标签: azure-cognitive-search


【解决方案1】:

如果您直接使用索引 API,Azure 搜索不提供任何内置机制来修改文​​档的“原始”内容,但是,如果您使用我们的内置索引器之一,您可以查看使用field mapper functions(例如UrlEncode 函数)或创建您自己的custom skill(如果您只想应用非常具体的规则)将传输中的文档从您的数据源转换为搜索索引。

另外,我们看到客户使用易于识别的自定义突出显示前后标签(并且不太可能被误认为是原始内容),然后在其客户端应用程序中使用简单的搜索和替换功能将这些标签转换回想要的标签。

例如,使用

前置标签:“!HIGHLIGHT_START!”和后标签:“!HIGHLIGHT_END!”

然后使用

String.Replace("!HIGHLIGHT_START!", "")

在他们的应用程序中显示结果之前。这样,任何需要查找实际亮点的客户端逻辑都可以使用自定义标签,同时仍会在 UX 中显示所需的标签。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-05
    • 2020-04-12
    • 1970-01-01
    • 2020-08-12
    • 2022-01-15
    • 2023-01-05
    • 1970-01-01
    • 2012-06-25
    相关资源
    最近更新 更多