C# 使用elasticsearch&;在集合中搜索匹配项;巢
我对elasticsearch和NEST真的很陌生,所以很抱歉问了一个基本问题。C# 使用elasticsearch&;在集合中搜索匹配项;巢,c#,elasticsearch,nest,C#,elasticsearch,Nest,我对elasticsearch和NEST真的很陌生,所以很抱歉问了一个基本问题。 我试图找出如何搜索集合属性中具有匹配项的所有文档 我的弹性文档对象如下所示: [ElasticType(Name="my_document")] public class MyDocument { public long Id { get; set; } public long[] TagIds { get; set; } } 我想知道如何搜索其tagid属性中包含特定数字的文档 我想这样做: e
我试图找出如何搜索集合属性中具有匹配项的所有文档 我的弹性文档对象如下所示:
[ElasticType(Name="my_document")]
public class MyDocument
{
public long Id { get; set; }
public long[] TagIds { get; set; }
}
我想知道如何搜索其tagid
属性中包含特定数字的文档
我想这样做:
elasticClient.Search<MyDocument>(x =>
x.Query(s => s.Terms(z => z.TagIds.Contains(searchVal))));
elasticClient.Search(x=>
x、 查询(s=>s.Terms(z=>z.TagIds.Contains(searchVal)));
找到了,答案很简单,我只是在阅读文档时没有完全理解它
我要找的问题是:
elasticClient.Search<MyDocument>(x => x.Query(s => s.Term(z => z.TagIds, tagIdStringToSearch)));
elasticClient.Search(x=>x.Query(s=>s.Term(z=>z.TagIds,tagIdStringToSearch));
注意:我使用的是Terms()
,而不是Terms()
。第二个参数是我在集合中查找的tagId字符串。(这也可以是int,在我的例子中是long,所以我用字符串搜索)
把这个问题留待以后,这样可能会对其他人有所帮助……:)