如何在术语查询中添加术语(ElasticSearch NEST C#)?

时间:2016-11-30 11:15:42

标签: c# elasticsearch ienumerable nest

我在NEST写了一个TermsQuery。我为它创建了一个QueryContainer。这是我的代码:

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

我想将int数组添加为条款,并显示条款仅接受IEnumerable<object>。我已经尝试将数组转换为Enumbrable并且它无法正常工作。

我只是想知道条款接受什么样的对象?

提前致谢。

1 个答案:

答案 0 :(得分:1)

条款接受IEnumerable<object>,因此它可以接受任何对象的集合:)要使用的类型取决于您要查询的字段。

鉴于模型

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

传递int或任何其他类型

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