So erstellen Sie ein Mapping während der Indizierung in elasticsearch
ich benutzeElasticSearch
in einer Website, in der ich Daten von indexiereMongoDB
.
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)
)
Das hat gut funktioniert. Aber momentan muss ich in der suchenstate
Feld für eine genaue Übereinstimmung inelasticsearch
. Derzeit suche ich nach Einträgen fürNew York
es gibt auch resultat vonNew Hampshire
. ich habe gefundenDieser Link und sah elasticsearch Dokumentation, die ich hinzufügen mussmapping
auf den Daten. Meine Frage ist, wie ich eine Zuordnung zu den Daten im aktuellen Szenario hinzufügen? oder gibt es eine bessere möglichkeit?