Como fazer o mapeamento durante a indexação na elasticsearch

estou usandoElasticSearch em um site onde eu indexo dados deMongoDB.

def postToEs(self):
    """
    put data to the elasticsearch
    """
    es = Elasticsearch()
    cursor = self.getMongoData()
    for document in cursor:
        esdoc={}
        esdoc["category"] = document.get("category")
        esdoc["description"] = document.get("description")
        esdoc["title"] = document.get("title")
        esdoc["link"] = document.get("link")
        esdoc["state"] = document.get("state")
        esdoc_id = esdoc["link"]
        es.index(
            index = 'news',
            doc_type = 'allnews',
            id = esdoc_id,
            body = json.dumps(esdoc)
        )

Isso funcionou bem. Mas atualmente eu tenho que procurar nostate campo para uma correspondência exata emelasticsearch. Atualmente, se eu procurar entradas paraNew York também dá resultado deNew Hampshire. eu encontreiEsse link e vi a documentação do elasticsearch que preciso adicionarmapping nos dados. Minha pergunta é como adiciono um mapeamento aos dados no cenário atual? ou existe alguma maneira melhor de fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion