Wir suchen, um von einer relationalen Datenbank zu elastischer Suche zu wechseln, und ich versuche, mit Nest ein paar grundlegenden Code zum Laufen zu bringen. Wir haben bestehende Objekte, die guids für ids verwenden, die ich in einem elastischen Suchindex speichern möchte.Elastische Suche mit GUID ID ohne Attribute
Ich möchte keine spezifischen Attribute hinzufügen, da die Klasse in verschiedenen Anwendungen verwendet wird und ich keine unnötigen Abhängigkeiten zu Nest hinzufügen möchte.
Im Moment sieht mein Code wie folgt aus:
var node = new Uri("http://localhost:9200");
var settings = new ConnectionSettings(node)
settings.DefaultIndex = "test";
var client = new ElasticClient(settings);
var testItem = new TestType { Id = Guid.NewGuid(), Name = "Test", Value = "10" };
var response = client.Index(testItem);
Mit Testtype als:
public class TestType
{
public Guid Id { get; set; }
public string Name { get; set; }
public decimal Value { get; set; }
}
aber ich erhalte eine Fehlermeldung wie:
ServerError: 400Type: mapper_parsing_exception Reason: "failed to parse [id]" CausedBy: "Type: number_format_exception Reason: "For input string: "c9c0ed42-86cd-4a94-bc86-a6112f4c9188""
Ich glaube, ich angeben müssen ein Mapping, das dem Server mitteilt, dass die Id eine Zeichenkette ist, aber ich kann keine Beispiele oder Dokumentation darüber finden, wie ich das ohne Verwendung mache die Attribute.
Das hat es behoben, danke. Ich habe diese Dokumentation gefunden, aber ich denke nicht, dass es sehr gut ist, wahrscheinlich in Ordnung als Referenz, aber für jemanden, der gerade mit der API anfängt, ist es nicht einfach, überhaupt zu folgen. – Mant101
@ Mant101 zögern Sie Fragen hier zu stellen oder https://discuss.elastic.co/c/elasticsearch. Pull-Anfragen für die Dokumentation auch sehr willkommen;) –