小编Sum*_* NL的帖子

过滤器在过滤后的查询内部或外部是否重要?

虽然这两个给我相同的结果,但是在内部或外部使用过滤器有什么区别?在表现或幕后行动方面有区别吗?

"query": {
    "filtered": {
        "query":  { "match": { "email": "business opportunity" }},
        "filter": { "term":  { "folder": "inbox" }}
    }
}
Run Code Online (Sandbox Code Playgroud)
"query": {
    "filtered": {
    "query":  { "match": { "email": "business opportunity" }}
    }
},
"filter": {
    "term":  { "folder": "inbox" }
}
Run Code Online (Sandbox Code Playgroud)

elasticsearch

15
推荐指数
1
解决办法
2169
查看次数

Automapper:ForMember中的复杂if else语句

假设Date可以为null DateTime:

Mapper.CreateMap<SomeViewModels, SomeDTO>()               
             .ForMember(dest => dest.Date,
                        opt => opt.MapFrom(src =>
                        {
                            DateTime? finalDate = null;
                            if (src.HasDate == "N")
                            {
                                // so it should be null
                            }
                            else
                            {                                   
                                endResult = DateTime.Parse(src.Date.ToString());

                            }                               
                            return finalDate;

                        }));
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:"错误30带有语句体的lambda表达式无法转换为表达式树."

当然,我完全清楚我可以简化查询,例如:

Mapper.CreateMap<SomeViewModels, SomeDTO>()
             .ForMember(dest => dest.Date,
                        opt => opt.MapFrom(src => src.HasDate == "N" ? null : DateTime.Parse(src.Date.ToString())));
Run Code Online (Sandbox Code Playgroud)

但是,如果我坚持保留第一个例子的结构,因为我有更复杂的if else语句,第二个例子无法满足或至少不具有可读性,该怎么办?

c# automapper

13
推荐指数
2
解决办法
1万
查看次数

ElasticSearch:post_filter还是过滤?

假设我在这里解释了类似的情况:https: //www.elastic.co/guide/en/elasticsearch/reference/current/search-request-post-filter.html

在我偶然发现这篇文章之前,我一直在使用filter而不是post_filter来实现这种情况,它产生的输出就像post_filter一样.

我的问题是:它们是一样的吗?如果没有,哪一个是推荐的,更有效的方法,为什么?

elasticsearch

9
推荐指数
2
解决办法
7122
查看次数

ElasticSearch中的聚合(Nest)

我对弹性搜索很新,我还没有找到具体的问题.如果已经回答,我会提前道歉,我希望你能指出我正确的方向.

我一直在寻找在NEST中实现以下内容的方法:

"aggs" : {
    "fieldA" : {
        "terms" : {
            "field" : "fieldA"

        }
    },

    "fieldB" : {
        "terms" : {
            "field" : "fieldB"

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过这个:

.Aggregations(q => q.Terms("fieldA", r => r.Field(s => s.fieldA)) && q.Terms("fieldB", r => r.Field(s => s.fieldB)))
Run Code Online (Sandbox Code Playgroud)

还有这个:

.Aggregations(q => q.Terms("fieldA", r => r.Field(s => s.fieldA)))
.Aggregations(q => q.Terms("fieldB", r => r.Field(s => s.fieldB)))
Run Code Online (Sandbox Code Playgroud)

哪两个都失败了.我错过了别的什么吗?

c# aggregation elasticsearch nest

6
推荐指数
1
解决办法
6848
查看次数

标签 统计

elasticsearch ×3

c# ×2

aggregation ×1

automapper ×1

nest ×1