可以说我们有一个名为acls的类,该类有一个名为lprop的List属性。

现在,让我说我还有另一个List,其值是1,3,5,并且说这个变量的名称是tosearch。

我想通过使用巢来搜索 Elasticsearch 索引中的acls类型记录lprop属性中的tosearch值,并且仅找到一个匹配项就足够了。

前任:

    `public class acls
    {
        public List<int> lprop {get;set;}
    }
    public void main()
    {
        //.. creating connection and etc..
        // we have 3 recs of acls
        // 1. lprop values: 2,4,6,8
        // 2. lprop values: 1,9,0,4
        // 3. lprop values: 6,7,8
        List<int> tosearch = new int[] { 1, 3, 5 }.ToList();
        //Now I want to search tosearch values in acls lprop values.
        // Result should be: 2. records
    }`

最佳答案

使用 Terms query

client.Search<acls>(s => s
    .Query(q => q
        .Terms(c => c
            .Field(p => p.lprop)
            .Terms<string>(tosearch)
        )
    )
);

关于c# - 如何使用Nest Client在ElasticSearch中按数组搜索数组属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36697563/

10-11 08:48