Ich möchte einen binären Parameter in meinem Elasticsearch-Server von meinem C# -Code gespeichert haben. Keiner der Typen, die ich in meiner Indexklasse zu verwenden versuchte, übersetzt dies.Verwenden von binären Typ mit NEST (elasticsearch)
Gibt es eine Möglichkeit, mein Programm explizit anzuweisen, eine Binärdatei zu speichern, sagen wir aus einem Byte-Array (könnte in andere Arten von Kurs umgewandelt werden)?
Gibt es alternativ eine Möglichkeit, den Parameter so zu konfigurieren, dass er nicht gespeichert wird (wie bei der Json-Eigenschaft "stored": false
)? Da das Hauptproblem für mich das Kopieren und Indizierung von diesem großen Parameter ist (nicht ideal, aber ausreichend)
Update: Ich habe versucht, meine NEST Version 1.6.1 degradieren das
[ElasticProperty(Name = "Data", Type = FieldType.Binary, Store = false)]
public byte[] Data { get; set; }
Attribut zu verwenden, aber wenn ich ein Dokument mit dieser Eigenschaft zu speichern, besteht darauf, es noch eine Zeichenfolge zur Karte (I überprüfen, indem GET mydb/_mapping
in meiner Sense-Plugin läuft)
Vielen Dank für Ihre Hilfe, es scheint, dass nur das Hinzufügen des 'client.CreateIndex' Teils statt NEST es selbst zu tun gab mir, was ich wollte –
@OdedSayar gibt es zwei Dinge, die Elasticsearch hilft beim Aufstehen und läuft; Erstellen Sie zuerst automatisch einen Index, falls dieser noch nicht existiert. Dieses Verhalten kann mit - https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#index-creation gesteuert werden. Zweitens, die Felder eines Dokuments dynamisch zuordnen (d. H. Die Datentypen ableiten), wenn für den Dokumenttyp keine explizite Zuordnung angegeben ist. Dies kann auch kontrolliert werden - https://www.elastic.co/guide/en/elasticsearch/guide/current/dynamic-mapping.html –