2017-10-07 2 views

Antwort

1

Das Feld wurde als text datatype zugeordnet, das zur Indexzeit analysiert wird, standardmäßig unter Verwendung der Standard Analyzer. Das Ergebnis ist, dass die GUID durch Aufteilen auf Bindestriche in die Bestandteile zerlegt wird. Sie können selbst sehen dies die API-Analyse unter Verwendung von (in Kibana Console)

GET _analyze 
{ 
    "analyzer": "standard", 
    "text": ["c4b0c9ae-345c-4247-87e3-e9d9de67c01b"] 
} 

ergibt

{ 
    "tokens": [ 
     { 
     "token": "c4b0c9ae", 
     "start_offset": 0, 
     "end_offset": 8, 
     "type": "<ALPHANUM>", 
     "position": 0 
     }, 
     { 
     "token": "345c", 
     "start_offset": 9, 
     "end_offset": 13, 
     "type": "<ALPHANUM>", 
     "position": 1 
     }, 
     { 
     "token": "4247", 
     "start_offset": 14, 
     "end_offset": 18, 
     "type": "<NUM>", 
     "position": 2 
     }, 
     { 
     "token": "87e3", 
     "start_offset": 19, 
     "end_offset": 23, 
     "type": "<ALPHANUM>", 
     "position": 3 
     }, 
     { 
     "token": "e9d9de67c01b", 
     "start_offset": 24, 
     "end_offset": 36, 
     "type": "<ALPHANUM>", 
     "position": 4 
     } 
    ] 
} 

Sie wollen wahrscheinlich nicht GUIDs bei Index Zeit analysieren, so sollten Sie explicitly map them als keyword datatype.