如何使用嵌套客户端在弹性搜索中按数组搜索数组属性
How to search array property by array in elasticsearch with nest client
假设我们有一个名为 acls 的 class 而这个 class 有一个名为 lprop 的列表 属性。
现在假设我有另一个值为 1、3、5 的列表,假设这个变量名称是 tosearch。
我想使用 nest 在 elasticsearch 的索引中搜索 acls 类型记录 lprop 属性 中的搜索值,并且只找到一个匹配项就足够了。
例如:
`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)
)
)
);
假设我们有一个名为 acls 的 class 而这个 class 有一个名为 lprop 的列表 属性。
现在假设我有另一个值为 1、3、5 的列表,假设这个变量名称是 tosearch。
我想使用 nest 在 elasticsearch 的索引中搜索 acls 类型记录 lprop 属性 中的搜索值,并且只找到一个匹配项就足够了。
例如:
`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)
)
)
);