Я сканирую сайты, используя Scrapy
. Я хочу сохранить данные каждого сканирования непосредственно в Elasticsearch
. Мне удалось найти конвейер, написанный только для этого: https://github.com/jayzeng/scrapy-elasticsearch/blob/master/scrapyelasticsearch/scrapyelasticsearch.py Elasticsearch
применяет настраиваемое сопоставление к полям, если не указано иное. Я создал индекс на своем локальном хосте с пользовательским отображением (код прилагается ниже). Индекс успешно создан, и сопоставление также применяется. Теперь, когда я пытаюсь сохранить данные в этом конкретном индексе, к нему не добавляется документ. Однако если я укажу индекс, который не был создан с помощью пользовательского сопоставления, в него будут добавлены документы.
Код для пользовательского сопоставления:
from elasticsearch import Elasticsearch
es = Elasticsearch()
mapping = {
"mappings": {
"properties": {
"name": {
"type": "text"
},
"last_updated": {
"type": "text"
}
}}}
es.indices.create(index='my-index', ignore=400, body=mapping)