Here is a complete example:
from elasticsearch import Elasticsearch def fMap(document_type): mapping={document_type:{\ "properties":{\ "a_field":{"type":"integer","store":"yes"},\ "other_field": {"type":"string","index":"analyzed","store":"no"},\ "title":{"type":"string","store":"yes","index": "analyzed","term_vector":"yes","similarity":"BM25"},\ "content":{"type":"string","store":"yes","index": "analyzed","term_vector": "yes","similarity":"BM25"}\ }}} return mapping def dSetting(nShards,nReplicas): dSetting={ "settings":{"index":{"number_of_shards":nShards,"number_of_replicas":nReplicas}},\ "analysis":{\ "filter":{\ "my_english":{"type":"english","stopwords_path":"english.txt"},\ "english_stemmer":{"type":"stemmer","language":"english"}},\ "analyzer":{"english":{"filter":["lowercase","my_english","english_stemmer"]}}}} return dSetting def EsSetup(con,idx,docType,dset,mapping): con.indices.delete(index=idx,ignore=[400, 404]) con.indices.create(index=idx,body=dset,ignore=400) con.indices.put_mapping(index=idx,doc_type=docType,body=mapping) conEs=Elasticsearch([{'host':'localhost','port':9200,'timeout':180}]) dMap = fMap('docTypeName') dSet = dSetting(8,1) EsSetup(conEs,'idxName','docTypeName',dset,dMap)
taufikedys
source share