仅针对特定项目的 scrapy-elasticsearch 管道
scrapy-elasticsearch pipeline only for specific item
我想在我的 scrapy 项目中使用 scrapy-elasticsearch 管道。在这个项目中,我有不同的项目/模型。这些项目存储在 mysql 服务器中。此外,我想在 ElasticSearchServer 中索引这些项目之一。
但是,在文档中,我只找到了索引所有已定义项目的方法,就像下面 settings.py 中的代码示例一样。
ELASTICSEARCH_INDEX = 'scrapy'
ELASTICSEARCH_TYPE = 'items'
ELASTICSEARCH_UNIQ_KEY = 'url'
如您所见,ELASTICSEARCH_TYPE 显示所有项目都必须编入索引。是否可以将其限制为仅一项?
current implementation不支持仅发送部分项目。
您可以创建原始管道的子类并覆盖 process_item
方法来执行您想要的操作。
如果您有时间,您也可以向上游发送拉取请求,并提议允许在将项目发送到 Elasticsearch 之前对其进行过滤。
我想在我的 scrapy 项目中使用 scrapy-elasticsearch 管道。在这个项目中,我有不同的项目/模型。这些项目存储在 mysql 服务器中。此外,我想在 ElasticSearchServer 中索引这些项目之一。
但是,在文档中,我只找到了索引所有已定义项目的方法,就像下面 settings.py 中的代码示例一样。
ELASTICSEARCH_INDEX = 'scrapy'
ELASTICSEARCH_TYPE = 'items'
ELASTICSEARCH_UNIQ_KEY = 'url'
如您所见,ELASTICSEARCH_TYPE 显示所有项目都必须编入索引。是否可以将其限制为仅一项?
current implementation不支持仅发送部分项目。
您可以创建原始管道的子类并覆盖 process_item
方法来执行您想要的操作。
如果您有时间,您也可以向上游发送拉取请求,并提议允许在将项目发送到 Elasticsearch 之前对其进行过滤。