трубопровод scrapy -asticsearch только для конкретного предмета - PullRequest
0 голосов
/ 03 июня 2019

Я хочу использовать конвейер scrapy -asticsearch в моем проекте scrapy. В этом проекте у меня разные предметы / модели. Эти элементы хранятся на сервере MySQL. Кроме того, я хочу проиндексировать ОДИН из этих элементов в ElasticSearchServer.

В документации, однако, я нахожу способ индексировать все определенные элементы, как в примере кода из файла settings.py ниже.

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

Как вы можете видеть, ELASTICSEARCH_TYPE показывает, что все элементы должны быть проиндексированы. Есть ли возможность ограничить это только одним предметом?

1 Ответ

0 голосов
/ 04 июня 2019

Текущая реализация не поддерживает отправку только некоторых элементов.

Вы можете создать подкласс исходного конвейера и переопределить метод process_item, чтобы сделать то, что вы хотите.

Если у вас есть время, вы также можете отправить запрос на извлечение данных с предложением разрешить фильтрацию элементов перед отправкой в ​​Elasticsearch.

...