【问题标题】:Algorithm to match redirect URLs when migrating a website迁移网站时匹配重定向 URL 的算法
【发布时间】:2017-09-26 14:48:39
【问题描述】:

假设我们有两组 URL:源池目标池。源池基本上是网站上存在的 URL 的平面列表,而目标池包含同一网站的重制版本的所有 URL。所以对于源池中的大部分条目,目标池中应该有对应的、相似的条目。

我们希望通过将 目标池 中的一个 URL 与 源池 中的每个 URL 匹配来创建重定向映射。同一个target可以映射到多个sources

示例源池:

/books/faust
/books/romeo-and-juliet
/ebooks/from-zero-to-hero
/blog
/about-us
/deprecated-page

示例目标池:

/books/goethe/faust
/books/shakespeare/romeo-and-juliet
/ebooks/random-wannabe/from-zero-to-hero
/blog
/about-us
/newly-added-page

注意:您的答案不应过于具体到所提供的示例,例如添加作者命名空间。相反,假设只有两组基于字符串的pretty urls,具有不同的重叠/相似性。我们正在寻找一种通用的解决方案,根据两个 url 引用同一事物的可能性来创建重定向映射。

那么问题来了:

  1. 是否有针对此应用程序的现成解决方案(用于网站迁移的重定向),获取两个 url 列表并返回一个映射?
  2. 如果不是,哪些通用算法适合从列表中选出一个最有可能的候选人?

匹配概率的附加输出将有助于稍后手动检查列表。

【问题讨论】:

    标签: algorithm machine-learning statistics string-matching fuzzy-search


    【解决方案1】:

    好吧,回答我自己的问题:

    1. 与此同时,一款专门用于该应用程序的工具已经投入使用。可以在这里找到:https://github.com/jsphpl/redirect-mapper
    2. 对于我当前的应用程序,Levenshtein distance 已经证明是一个很好的相似性指标,但可能在每种情况下都不能很好地工作。理论上,您可以使用任何现有的String metric 或自行编写最适合您当前需求的算法。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 2021-02-05
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 1970-01-01
      相关资源
      最近更新 更多