2016-08-30 2 views
1

Ich habe eine Abbildung wie dieseZahlenformat Ausnahme für String-Typ

{ 
    "settings": { 
      "analysis": { 
       "filter": { 
        "nGramFilter": { 
         "type": "nGram", 
         "min_gram": 3, 
         "max_gram": 20, 
         "token_chars": [ 
          "letter", 
          "digit", 
          "punctuation", 
          "symbol" 
         ] 
        }, 
        "email" : { 
         "type" : "pattern_capture", 
         "preserve_original" : 1, 
         "patterns" : [ 
          "([^@]+)", 
          "(\\p{L}+)", 
          "(\\d+)", 
          "@(.+)" 
         ] 
        }, 
        "number" : { 
         "type" : "pattern_capture", 
         "preserve_original" : 1, 
         "patterns" : [ 
          "([^+-]+)", 
          "(\\d+)" 
         ] 
        }, 
        "edgeNGramFilter": { 
         "type": "nGram", 
         "min_gram": 1, 
         "max_gram": 10, 
         "token_chars": [ 
          "letter", 
          "digit", 
          "punctuation", 
          "symbol" 
         ] 
        } 
       }, 
       "analyzer": { 
        "nGramAnalyzer": { 
         "type": "custom", 
         "tokenizer": "whitespace", 
         "filter": [ 
          "lowercase", 
          "nGramFilter" 
         ] 
        }, 
        "whitespaceAnalyzer": { 
         "type": "custom", 
         "tokenizer": "whitespace", 
         "filter": [ 
          "lowercase" 
         ] 
        }, 
        "email" : { 
         "tokenizer" : "uax_url_email", 
         "filter" : [ 
          "email", 
          "lowercase", 
          "unique" 
         ] 
        }, 
        "number" : { 
         "tokenizer" : "whitespace", 
         "filter" : [ "number", "unique" ] 
        }, 
        "edgeNGramAnalyzer": { 
         "type": "custom", 
         "tokenizer": "whitespace", 
         "filter": [ 
          "lowercase", 
          "edgeNGramFilter" 
         ] 
        } 
       } 
      } 
     }, 
    "users": { 
     "mappings": { 
      "user_profiles": { 
       "properties": { 
        "firstName": { 
         "type": "string", 
         "analyzer": "nGramAnalyzer", 
         "search_analyzer": "whitespaceAnalyzer" 
        }, 
        "lastName": { 
         "type": "string", 
         "analyzer": "nGramAnalyzer", 
         "search_analyzer": "whitespaceAnalyzer" 
        }, 
        "email": { 
         "type": "string", 
         "analyzer": "email", 
         "search_analyzer": "whitespaceAnalyzer" 
        }, 
        "score" : { 
         "type": "string" 
        }, 
        "homeLandline": { 
         "type": "string", 
         "analyzer": "number", 
         "search_analyzer": "whitespaceAnalyzer" 

        }, 
        "dob": { 
         "type": "date", 
         "format": "yyyy-MM-dd HH:mm:ss" 
        }, 
        "mobile": { 
         "type": "integer" 
        }, 
        "residenceCity": { 
         "type": "string", 
         "analyzer": "edgeNGramAnalyzer", 
         "search_analyzer": "whitespaceAnalyzer" 
        }, 
        "created_at": { 
         "type": "date", 
         "format": "yyyy-MM-dd HH:mm:ss" 
        }, 
       } 
      } 
     } 
    } 
} 

kann ich die Partitur als integer erhalten sowie „NA“ so abgebildet ich den Typ als Zeichenfolge aber, während die Daten in den Index Entsendung i Ich erhalte eine Ausnahme für das Zahlenformat.

Zum Beispiel:

wenn ich erste Daten als ganze Zahl posten und gefolgt von „NA“. Ich bekomme diese Ausnahme.

während meine Log-Datei überprüft Ich erhalte diese Fehler:

[2016.08.29 15.19.01] elasticlog.WARNING: Response [ "{\" Fehler \ ": {\ "root_cause \": [{\ type \ ": \" mapper_parsing_exception \ ", \" reason \ ": \" failed to parse [score] \ "}], \" type \ ": \" mapper_parsing_exception \ ", \" reason \ ": \" fehlgeschlagen zu analysieren [score] \ ", \" verursacht_by \ ": {\" type \ ": \" nummer_format_exception \ ", \" reason \ ": \" Für Eingabezeichenfolge: \ "NH \" \ "}}, \" Status \ ": 400}"] []

Antwort

0

Ihre Zuordnung ist falsch. Es sollte sein, vorausgesetzt, users ist der Indexname und user_profiles ist der Typ:

{ 
    "users": { 
     "mappings": { 
     "user_profiles": { 
      "properties": { 
       "score": { 
        "type": "string" 
       } 
      } 
     } 
     } 
    } 
} 

Sie haben mappings vor user_profiles ein fehlt.

+0

aber das ist nicht das Problem.Ich habe es aktualisiert vergessen, Zuordnungen hinzuzufügen – Parithiban

+0

Dann warum hast du das nicht in Ihrem ursprünglichen Beitrag erwähnt? –

+0

Geben Sie den vollständigen (einschließlich URL) Befehl an, den Sie zum Indizieren dieses Dokuments verwendet haben. Stellen Sie auch die Ausgabe von 'GET/users/_mapping' bereit. –