在crawler-conf.yaml
(以及其他地方,如果需要)中,以下元标记中的信息的正确设置是什么:
<meta name="college" content="artdesign"/>
要正确地捕获到字段名称为“学院”或“种子”的索引中?
我看到可能需要设置以下设置,但尝试了各种设置,但似乎无法捕获数据。
在crawler-conf.yaml
中:
# lists the metadata to persist to storage
# these are not transfered to the outlinks
metadata.persist:
- _redirTo
- error.cause
- error.source
- isSitemap
- isFeed
- college
- seed
不确定“持久存储”是否意味着进入索引?
crawler-conf.yaml
中的另一个选项是:
# configuration for the classes extending AbstractIndexerBolt
indexer.md.mapping:
- parse.title=title
- parse.keywords=keywords
- parse.description=description
- domain=domain
- college=college
- college=seed
我以前曾问过这样一个事实,即一段时间以来,“种子”的某些值似乎正在传播到所获取的没有元标记的文档中。该设置为:
# metadata to transfer to the outlinks
# used by Fetcher for redirections, sitemapparser, etc...
# these are also persisted for the parent document (see below)
# metadata.transfer:
# - seed
因此,如标题中所述,我的问题是如何在crawler-conf.yaml
(或任何其他配置)中配置这些选项,以可靠地从此问题顶部列出的meta标签捕获数据,而不会将其传播到没有该meta标签的提取文档中?
答案 0 :(得分:1)
这是我整理的内容。上面引用的代码中'parse.title'中引用的'parse'是对{编辑的meta标签的键的引用,然后由{{ 1}}文件。我去了那里并添加了一个
src/main/resources/parsefilters.json
行的下方,但仍在顶级类别中。
然后,我将参考文献"parse.college": "//META[@name=\"college\"]/@content"
下的大学名称更改为indexer.md.mapping
,并重建了搜寻器并运行了它。然后,它开始正确抓取- parse.college=college
标签并将其发送到索引中的<meta name="college" content="artdesign"/>
字段。