Je définis un index comme ci-dessous. Mais maintenant j'ai une exigence à cause de laquelle je dois modifier le style d'indexation. (Je dois ajouter le champ d'analyseur dans le code ci-dessous).Expressions LINQ pour la requête Elasticsearch NEST
Référence [Ma précédente question et sa réponse]: Elastic Search using NEST - Results different in debug and browser mode
Comment puis-je réécrire
var connectionSettings = new ConnectionSettings(pool)
.DefaultIndex(defaultIndex)
.MapDefaultTypeNames(m => m.Add(typeof(Class1), "omg"))
.PrettyJson()
.DisableDirectStreaming());
avec les paramètres de mappage comme ci-dessous.
{
"mappings": {
"Class1": {
"properties": {
"Answer": {
"type": "string",
"analyzer": "english"
}
}
}
}
}
Ceci est mon point de vue sur la réponse:
settings = new ConnectionSettings(pool)
.DefaultIndex(defaultIndex)
.MapDefaultTypeNames(m => m.Add(typeof(Class1), "omg"))
.PrettyJson()
.DisableDirectStreaming();
var descriptor = new CreateIndexDescriptor(defaultIndex)
.Mappings(ms => ms
.Map<Class1>(m => m
.Properties(ps => ps
.String(s=>s
.Name(n=>n.Ans)
.Analyzer("english")))));
Je pense que je manque un lien quelque part entre la création d'index et les correspondances. Bien qu'il n'a pas montré une erreur lors du codage, la sortie n'est pas comme prévu.
TIA
Je viens d'essayer sur plugin Sense pour vérifier si elle fonctionne. Puis essayé de modifier un peu votre code en ajoutant '.MapPropertiesFor <>' après '.MapDefaultTypeNames (m => m.Add (typeof (Class1)," omg "))' Ce que je pensais être, après les noms par défaut à celui de class1, alors nous devons donner leurs propriétés, donc essayé pour '.MapProperties' – ASN
Jetez un oeil à https://www.elastic.co/guide/en/elasticsearch/client/net-api/2.x /auto-map.html –
Merci Russ. Je vais y jeter un coup d'œil et revenir avec la réponse. – ASN