我一直在尝试根据两个字段" sAMAccountName"从弹性搜索中获取文档。和#34;容器"但没有运气。 enter image description here
我想要的是一个文档,其中两个属性与我给定的值完全相同。 这是我一直在做的事情 它给了我结果,其中用户包含给定的属性,但我想要完全匹配。
string container = getUserContainer(identityStore.ConnectionString);
var searchRequest = new Nest.SearchRequest();
searchRequest.Size = 10000;
searchRequest.Query = GetQuery(knownAttributes.SamAccountName, userName) && GetQuery("Container", container);
var searchResults = elasticSearch.Search<Dictionary<string,object>>(searchRequest);
return null;
private Nest.MatchQuery GetQuery(Nest.Field field, string query)
{
var matchQuery = new Nest.MatchQuery();
matchQuery.Field = field;
matchQuery.Query = query;
matchQuery.Operator = Operator.And;
r
eturn matchQuery; }
答案 0 :(得分:0)
试试这个:
IQueryResponse<T> result = client.Search<T>(s => s
.Size(1)
.Query(q => q.Term("field1", value1) && q.Term("field2", value2))
.Index("myindex")
.Type("mytype")
);
if (result.Documents.Count<T>() > 0)
{
//do something
}