• Elasticsearch .net client NEST 空字符/null值查询


    null值查询

    当某个字段值为null时,其实在es里该条数据是没有这个字段的。查询时检测包含不包含该字段就行。

    /// <summary>
            /// null 值查询
            /// 当数据为Null时字段不存在
            /// </summary>
            /// <param name="indexName"></param>
            public void NullValueQuery(string indexName)
            {
                var result = _client.Search<TestModel5>(
                   s => s
                       .Index(indexName)//索引
                       .Type(typeof(TestModel5))//类型
                        //fd.Name必须存在  即:fd.Name!=null
                       .Query(q=>q.Bool(b=>b.Must(mt=>mt.Exists(ex=>ex.Field(fd=>fd.Name))))
                       ));
                
            }

     空字符查询

    当某个字段值为空字符时(""),字段是存在的。

    /// <summary>
            /// 空字符查询
            /// </summary>
            /// <param name="indexName"></param>
            public void StringEmptyQuery(string indexName)
            {
                var result = _client.Search<TestModel5>(
                  s => s
                      .Index(indexName)//索引
                      .Type(typeof(TestModel5))//类型
                       //.Verbatim()如果不加该查询条件无效
                      .Query(q => q.Bool(b => b.Must(mt => mt.Term(ex => ex.Verbatim().Field(fd => fd.Name).Value(""))))
                      ));
            }

    感谢群友的普及。

    如果你也在用NEST 不妨一起来交流学习吧。^.^

    Elasticsearch.Net、NEST 交流群:523061899

  • 相关阅读:
    SpringMvc---Ant通配符
    mybatis 数据库语句
    shiro 静态页面资源不显示 解决方案
    http错误汇总
    关于代码质量与逻辑
    shiro 过滤属性的意义
    java思维导图
    E
    LCIS HDU
    E
  • 原文地址:https://www.cnblogs.com/huhangfei/p/9685066.html
Copyright © 2020-2023  润新知