Ich benutze Solr 6.1 im schemalosen Modus. Nach dem Erstellen einer Sammlung und dem Indizieren von Beispieldaten wurde für die erstellten Felder festgelegt, dass MultiValued = true mit Ausnahme der eindeutigen ID verwendet wurde.Solr schemaless Mode Felder als MultiValued erstellen
Das Problem besteht darin, dass bei der Abfrage dieser Daten mit SolrNet das Ergebnis nicht korrekt dem Modell zugeordnet wird. Die abgefragten Ergebnisse werden als Array zurückgegeben und erfordern, dass alle meine Eigenschaften im Modell auf den ICollection-Typ aktualisiert werden.
Können wir dieses Feld trotzdem auf MultiValued = false setzen, wenn die Beispieldaten indiziert werden?
Ein Beispiel, das Problem zu veranschaulichen:
1) Index eine Probe des folgenden Modells in Schemaless Modus:
public class TestModel
{
[SolrUniqueKey("id")]
public int Id { get; set; }
[SolrField("guid")]
public Guid Guid { get; set; }
}
2) verwalteten-Schema-Datei des Solr wird
mit den folgenden Feldern hinzugefügt werden<field name="guid" type="strings"/>
<field name="id" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
3) Fehler bei der Abfrage/Abbildung des Modells
Object of type 'System.Collections.ArrayList' cannot be converted to type
also, Sie fragen, ob es eine Möglichkeit gibt, im schemaless-Modus zu indizieren und irgendwie noch ein Feld zu setzen, nur singleValue zu haben, oder? – Mysterion
Ja genau, ich versuche, Solr im schemalosen Modus auszuführen, aber die dynamische Felderzeugung erstellt alles als mehrwertigen Typ. Dadurch wird ein Problem beim Zuordnen des Ergebnisses zum Modell verursacht, ohne dass alle Eigenschaften in den ICollection-Typ konvertiert werden. –