2016-11-30 1 views
1

J'écris un TermsQuery en NEST. J'ai créé un QueryContainer pour cela. Voici mon code:Comment ajouter des termes en termes de requête (ElasticSearch NEST C#)?

QueryContainer qc1 = new TermsQuery() 
{ 
    Field = "recordID", 
    Terms = 
}; 

Je veux ajouter tableau int Conditions et il montre que les termes acceptent que IEnumerable<object>. J'ai essayé de convertir array en Enumbrable et ça ne marche pas.

Je veux juste savoir quel genre d'objet Termes acceptent?

Merci d'avance.

Répondre

2

Les termes acceptent un IEnumerable<object> afin qu'il puisse accepter une collection de n'importe quel objet :) Le type à utiliser dépendra du champ que vous interrogez.

Étant donné le modèle

public class Document 
{ 
    public int Property1 { get; set; } 
} 

Pour passer une collection de int ou tout autre type

var termQuery = new TermsQuery 
{ 
    Field = Infer.Field<Document>(d => d.Property1), 
    Terms = new object[] { 1, 3, 5 } 
}; 
+1

fonctionne comme un charme! Merci pour l'aide! :) – Callisto