gpt4 book ai didi

solr - 如何在 Solr 中突出显示包含 html 的字段中的查询词

转载 作者:行者123 更新时间:2023-12-01 15:14:58 24 4
gpt4 key购买 nike

我有一个正文字段,其中可能包含来自富文本编辑器的 html 文本。我希望能够从中返回突出显示的片段,但去掉了 html。

将下面的文本编入索引:

<p class="something">some text here with words and other text</p>

如果您搜索“单词”,您可能会得到以下突出显示的片段(取决于片段长度等):

class="something">some text here with <em>words</em> and other text</p>要么 class="something">some text here with <em>words</em> and other text

HTML 被拆分的地方,会导致前端出现渲染问题。我想在应用突出显示之前删除 html。我尝试过不同的突出显示组件,但没有看到任何可以解决问题的属性。

我需要在编制索引之前去除 HTML 吗?或者是否有其他技术可以做到这一点?

目前我正在使用 HTMLStripCharFilterFactory 在索引时去除 HTML,但突出显示组件使用底层存储的数据,即原始 html。

最佳答案

我也有同样的问题,得出的结论是,唯一的办法是使用两个字段,例如:

  1. content_html:原始 html,使用 HtmlStripCharFilterFactory,因此只有 html 内容会被索引/标记化
  2. content_stripped:仅文本内容,将用于突出显示的片段

例如,在 C# 中,我会使用 HtmlAgilityPack 将 HTML 加载到文档中,然后在根节点上调用 .Text。

应存储这两个字段,以便您可以将纯文本字段用于片段,将 html 字段用于希望突出显示整个字段的情况。

我研究了 Solr 和 ElasticSearch,发现没有内置方法,因为突出显示是在存储的任何内容上执行的。

相关:Solr Strip html when highlighting with stored html fields

相关:How to handle html tags in highlight fragment in SOLR

关于solr - 如何在 Solr 中突出显示包含 html 的字段中的查询词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28323157/

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