根据文档Configuring Page Crawler Indexes,是否有更多有关Kentico 10使用的Web爬虫技术/引擎的可用信息?

我问的原因是因为我想考虑将其用于可以位于Kentico外部的自定义搜寻器项目中,并且仍然允许它与Kentico平台具有固有的兼容性。

最佳答案

据我从Kentico 10源代码可以看出,Kentico SmartSearch使用的搜寻器是完全专有的。它没有使用任何第三方库。

它使用System.Web.HttpWebRequest下载页面内容。全部内容作为字符串反馈到SmartSearch索引器中。之后,它会进行文本提取,并馈送到Lucene进行索引。

让Kentico SmartSearch使用外部搜寻器并不容易。我们通常会远离搜寻器,因为与标准索引相比,执行索引的成本很高,而标准索引直接从数据库中提取数据。

Kentico支持executing some scheduled tasks in a Windows service,但不支持搜索任务。

请注意,Kentico SmartSearch实际上不会通过发现链接来爬网该网站。它使用内容树来找出需要索引的内容。如果要索引其他内容(例如,从与之集成的系统中),则需要实现自定义搜索服务,如here所述。

有用的一件事是让外部进程对要索引的任何内容进行爬网,并将原始HTML内容放入存储中。然后编写一个自定义SmartSearch索引,该索引从存储中提取数据以在Kentico中建立索引。如果您要索引由Kentico管理的内容,则可以通过 Hook 文档事件将其提升到一个新的水平。那应该允许您仅在页面更新时对页面进行爬网。

关于web-crawler - Kentico 10使用的Web爬网程序引擎,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45985957/

10-12 07:39