【发布时间】:2023-03-23 22:16:01
【问题描述】:
我们正在使用 dtSearch 来索引一些外部网页。它抓取页面的整个 HTML 内容。
当页面出现在我们网站的搜索结果列表中时,我们希望显示包含其突出显示/粗体搜索词的内容的摘录作为结果的一部分(换句话说,每个人都习惯在每个 Google 结果下看到相同的内容)。
实现这一目标的最佳方法是什么?您是否必须解析和删除 HTML 标签?如果是这样,您如何有效地做到这一点?
我们有一个概念验证工作,显示带有突出显示的搜索词的摘录,但我们必须渲染标签,或者尝试将它们剥离(正如我们所尝试的那样)并最终得到一些不是垃圾信息真的很满足。
我认为我们使用 dtSearch 是偶然的。如果替代搜索工具能够代表我们执行此类操作,我们会考虑使用它。
我们基本上是在尝试决定是否需要编写自己的正则表达式来完成此任务,或者这是一个众所周知的问题,已经被某些库或工具解决了。
我们碰巧在使用 .NET/C#。我认为这不是问题的核心,但可能会影响我们可以使用哪些库。
【问题讨论】:
-
使用谷歌?许多网站都嵌入了 Google 搜索...
-
google 节目的摘录取决于您搜索的内容。所以同一网站可以有多个摘录!以及为什么要删除 html 标签!还建议使用
regex解析 html 是不... -
我应该补充一点,除了索引外部网页之外,我们还在索引我们自己的一些数据库内容。至于使用谷歌搜索,我不确定它搜索你自己的数据库而不是爬取页面的能力如何,我也不确定你可以在多大程度上自定义结果的外观。
-
@Some1.Kill.The.DJ 假设我们不删除 HTML 标签。这意味着我们必须渲染它们。这似乎会产生奇怪的结果。我以前从未见过无序列表或浮动 div 出现在 Google 搜索结果中。你有什么建议?
标签: c# .net regex search dtsearch