2016-06-29 6 views
0

Ich bin neu in Elasticsearch und habe ein eigenartiges Problem: Ich verwende elasticsearch mit kibana, um die meisten Ereignisse in meiner Anwendung zu speichern und zu visualisieren. Zum Beispiel eine Benutzeranmeldung mit User_id von 123 zu speichern, würde ich auf einen Index Benutzer/login/123 mit dem folgenden Array als Daten schreiben:Elasticsearch hängt zufällige Zeichenfolgen an Quelldaten in Indizes

{ 
    "details" : { 
     "fname" : "John", 
     "lname" : "Smith", 
     "click" : "login-button", 
     etc... 
    }, 
    "ip_address" : 127.0.0.1, 
    "browser_type" : "Chrome", 
    "browser_version" : "17" 
} 

jedoch das Problem, das ich festgestellt, dass einige Aufzeichnungen zeigen mit einer zufälligen Zeichenfolge nach dem Array "Details": siehe Screenshot. Kann jemand vorschlagen, was mache ich falsch und wie kann ich bestehende Indexe reparieren?

Screenshot

Antwort

0

Ich glaube, Sie so etwas in Ihren Daten haben sollte:

{ 
    "details" : { 
     "28d211adbf" : { 
      "stats" : { 
      "merge_field_count": 6, 
      "unsubscribe_count_since_send": 3 
      } 
     }, 
     "555cd3bcba" : { 
      "stats" : { 
      "merge_field_count": 6, 
      "unsubscribe_count_since_send": 3 
      } 
     } 
    }, 
    "ip_address" : 127.0.0.1, 
    "browser_type" : "Chrome", 
    "browser_version" : "17" 
} 

Es ist eigentlich keine gute Praxis in Indizierung Dokument in Elasticsearch. Lesen Sie mehr über Mapping-Explosion für mehr Info:

+0

Danke Philip, aber meine Daten ** ist ** wie ich beschrieben (Details ist ein strukturiertes Objekt aus der Haupt-App). Ich verstehe nicht, wo diese zufälligen Zeichenfolgen herkommen ... Ich möchte keine 28d211adbf-Indizes haben. Deshalb frage ich, woher sie kommen ... Ist es elasticsearch, das sie hinzufügt, um Duplikate abzuschwächen? – unicopter

+0

Ich denke, das Problem liegt in der Objektdarstellung in der Haupt-App. Wie repräsentierst du dein Objekt in deiner Haupt-App? Die zufällige Zeichenfolge sieht wie ein Hash-Schlüssel aus. Verwenden Sie hashmap oder etwas ähnliches in Ihrem strukturierten Objekt in Ihrer Haupt-App? – philipskokoh

Verwandte Themen