meine Mapping:Elasticsearch, Max Länge von Mapping-Typ lange
POST /packtwo-order-sku-log
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
"mappings": {
"baitu": {
"properties": {
"order_id":{
"type": "long"
},
....
}
}
}
}
wenn ich suche
"query": {"term" : {"order_id" : 10160815114820888}}
ODER
"query": {"match" : {"order_id" : 10160815114820888}}
Ich habe Hits 0; Aber wenn ich order_id zu 1016081511482088 ändere, bekam ich Treffer. jedoch die JSON ES zurück zeigt:
"hits": [
{
"_index": "packtwo-order-sku-log",
"_type": "baitu",
"_id": "AVaMWcchVwJTsNV878q2",
"_score": 2.7917593,
"_source": {
"order_id": 10160815114820888,
...
}
}
I 10160815114820888 gesucht -> kein Ergebnis
I 1016081511482088 gesucht -> Ergebnis ist 1016081511482088
ich lange Art finden in offizielles Dokument:
long
A signed 64-bit integer with a minimum value of -2^63 and a maximum value of 2^63-1
Meine Daten sind nicht länger als 2^63-1
Also, was ist mein Problem?
Genau wie Ihr ES-Beispiel. Sie sagten "aber kann immer noch als 10160815114820887 gefunden werden", aber ich kann das Ergebnis nicht finden, wenn ich die Nummer 10160815114820887 suche. Ich muss 0888 suchen, wenn ich diese Daten bekommen möchte. Also ich denke, es ist nicht nur Show-Problem, sondern auch meine Daten ändern ist ES – wilsonlee
Ein wenig verwirrt über den letzten Teil. Mein Ergebnis ist zum Beispiel, ich indexierte 7. Wenn ich 7 suche, bekomme ich nichts, aber wenn ich 8 suche, bekomme ich eine Antwort von 8. Also, das Problem ist, wenn ich die Nummer indexierte, wird sie zu einem falschen gerundet. Recht? – wilsonlee
Ja, das ist richtig. Und das gleiche gilt für die Suchzeit – Val