【问题标题】:scrapy-elasticsearch pipeline only for specific itemscrapy-elasticsearch 管道仅适用于特定项目
【发布时间】:2019-06-03 18:46:40
【问题描述】:

我想在我的 scrapy 项目中使用 scrapy-elasticsearch 管道。在这个项目中,我有不同的项目/模型。这些项目存储在 mysql 服务器中。此外,我想在 ElasticSearchServer 中索引其中一项。

然而,在文档中,我只能找到索引所有已定义项目的方法,就像下面的 settings.py 中的代码示例一样。

ELASTICSEARCH_INDEX = 'scrapy'
ELASTICSEARCH_TYPE = 'items'
ELASTICSEARCH_UNIQ_KEY = 'url'

如您所见,ELASTICSEARCH_TYPE 表明所有项目都必须编入索引。是否有可能将其限制为仅一项?

【问题讨论】:

    标签: python elasticsearch scrapy pipeline


    【解决方案1】:

    current implementation 不支持只发送部分物品。

    您可以创建原始管道的子类并覆盖 process_item 方法以执行您想要的操作。

    如果您有时间,您还可以向上游发送一个拉取请求,其中包含一个允许在将项目发送到 Elasticsearch 之前对其进行过滤的提议。

    【讨论】:

    • 感谢您的快速答复!我会尝试创建一个子类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多