elasticsearch Elasticsearch嵌套API,搜索多个索引,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch Elasticsearch嵌套API,搜索多个索引,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch Elasticsearch嵌套API,搜索多个索引

elasticsearch Elasticsearch嵌套API,搜索多个索引,elasticsearch,nest,elasticsearch,Nest,如果一个人同时搜索多个索引,是否可以说如果搜索索引A,则添加此筛选器;如果搜索索引B,则添加其他筛选器 例如: var filters = new List<Func<QueryContainerDescriptor<PropertySearchResult>, QueryContainer>>(); filters.Add(fq => fq.Term(t => t.Field(f => f.PromoterId).Value(user.Id

如果一个人同时搜索多个索引,是否可以说如果搜索索引A,则添加此筛选器;如果搜索索引B,则添加其他筛选器

例如:

var filters = new List<Func<QueryContainerDescriptor<PropertySearchResult>, QueryContainer>>();
filters.Add(fq => fq.Term(t => t.Field(f => f.PromoterId).Value(user.Id)));
filters.Add(fq => fq.Term(t => t.Field(f => f.SubscriptionId).Value(subscriptionId)));
string indicies = String.Join(",", Utils.SupportedCountries.Select(c => c.Key.ToLower()).ToArray());
var result = await ElasticSearchConfig.GetClient().DeleteByQueryAsync<PropertySearchResult>(u => u
               .Index(indicies)
               .Query(q => q
               .Bool(bq => bq.Filter(filters))));
var过滤器=新列表();
filters.Add(fq=>fq.Term(t=>t.Field(f=>f.PromoterId.Value(user.Id));
filters.Add(fq=>fq.Term(t=>t.Field(f=>f.SubscriptionId).Value(SubscriptionId));
string indicies=string.Join(“,”,Utils.SupportedCountries.Select(c=>c.Key.ToLower()).ToArray();
var result=await ElasticSearchConfig.GetClient().DeleteByQueryAsync(u=>u
.索引(指标)
.Query(q=>q
.Bool(bq=>bq.Filter(filters));
目前,所有索引都将使用相同的过滤器,但我希望根据搜索索引的不同过滤器有所不同。

向每个过滤器添加一个术语查询(&&&)

.Term("_index", A)
检查此链接