创建空索引并设置映射

在这个例子中,我们通过定义它的映射来创建一个空索引(我们不在其中索引文档)。

首先,我们创建一个 ElasticSearch 实例,然后我们定义我们选择的映射。接下来,我们检查索引是否存在,如果不存在,我们通过分别指定包含索引名称和映射主体的 indexbody 参数来创建索引。

from elasticsearch import Elasticsearch

# create an ElasticSearch instance
es = Elasticsearch()
# name the index
index_name = "my_index"
# define the mapping
mapping = {
    "mappings": {
        "my_type": {
                "properties": {
                    "foo": {'type': 'text'},
                    "bar": {'type': 'keyword'}
                }
            }
        }
    }
    
# create an empty index with the defined mapping - no documents added
if not es.indices.exists(index_name):
    res = es.indices.create(
        index=index_name,
        body=mapping
    )
    # check the response of the request
    print(res)
    # check the result of the mapping on the index
    print(es.indices.get_mapping(index_name))