【问题标题】:Metadata in status index is not updating状态索引中的元数据未更新
【发布时间】:2021-04-10 04:04:36
【问题描述】:

我有以下带有 URl 和元数据的示例站点地图。我能够成功抓取站点地图及其元数据。但是,当我为 URl 更新 sitemap.xml 中的元数据时,元数据不会在下一个获取日期更新。

Sitemap.xml 示例:

<?xml version="1.0"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
    xmlns:news="http://www.sitemaps.org/schemas/sitemap-news/0.9"
    xmlns:image="http://www.sitemaps.org/schemas/sitemap-image/1.1">
    <url>
        <loc>/index.html</loc>
        <lastmod>2020-12-30T14:47:00.0000Z</lastmod>
        <title>Home</title>
        <originalName>home</originalName>
        <effectiveDate></effectiveDate>
        <externalAccess></externalAccess>
    </url>
    <url>
        <loc>/PDF_1000195118.pdf</loc>
        <lastmod>2021-01-04T14:49:00.0000Z</lastmod>
        <title>The power</title>
        <description>test document </description>
        <originalName>PDF_1000195118.pdf</originalName>
        <mimeType>application/pdf</mimeType>        
        <externalAccess>false</externalAccess>
        <excludeFromSearch>true</excludeFromSearch>     
    </url>
</urlset>

状态索引:

 {
        "_index" : "status",
        "_type" : "_doc",
        "_id" : "16276148886a4de6cb055be68f45580043bf855269b2b784ef47e830fbf6f942",
        "_score" : 1.0,
        "_source" : {         
          "status" : "FETCHED",
          "metadata" : {
            "excludeFromSearch" : [
              "true"
            ],
            "lastModifiedDate" : [
              "2021-01-04 20:19:00"
            ],
            "loggedInOnly" : [
              "false"
            ],
            "description" : [
              "test document "
            ],
            "mimeType" : [
              "application/pdf"
            ],
            "title" : [
              "The power"
            ],
            "externalAccess" : [
              "false"
            ],
            "depth" : [
              "1"
            ],
            "isSitemap" : [
              "false"
            ],
            "fetch%2Eerror%2Ecount" : [
              "1"
            ],
          
          "nextFetchDate" : "2021-01-04T12:13:04.000Z"
        }

之后,我将 sitemap.xml 中的 excludeFromSearch 更改为 false 。但它没有得到更新。

成功获取后如何更新元数据?

【问题讨论】:

    标签: elasticsearch stormcrawler


    【解决方案1】:

    这是因为 DISCOVERED 仅当 URL 不存在时才会在 ES 中创建。

    初始发现在 status 索引中创建了一个状态为 DISCOVERED 的条目,当您更改站点地图时,它会将修改后的 DISCOVERED 文档发送到 ES,但它被忽略了因为那里已经有一个带有该 URL 的文档。

    一种解决方法是在更新站点地图之前删除 status 索引中的文档直接更新文档。

    StormCrawler 中的站点地图仅用于发现,status 中的文档永远不会更新,只是在处理 URL 时被覆盖。

    【讨论】:

    • 感谢@julien-nioche 的快速回复。 URL爬取成功后,有没有办法通过爬虫更新文档元数据?
    • 不是来自站点地图,原因我在上面解释过。该文档将被状态为 FETCHED 的文档覆盖,但它不会包含最新站点地图中的元数据。
    猜你喜欢
    • 2020-08-19
    • 2021-11-25
    • 2017-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多