Elasticsearch:文档未通过自定义映射添加到索引

时间:2019-10-10 12:40:15

标签: python elasticsearch mapping

我正在使用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)

1 个答案:

答案 0 :(得分:0)

研究了几个小时后,我终于意识到问题出在哪里。我正在索引的项目是我创建的自定义对象,因此默认情况下 JSON可序列化。我只是将其转换为dict,它的工作就像一个魅力。