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))))
                   ));
            
        }

 空字符查詢

當某個字段值爲空字符時(""),字段是存在的。spa

/// <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(""))))
                  ));
        }

感謝羣友的普及。code

若是你也在用NEST 不妨一塊兒來交流學習吧。^.^blog

Elasticsearch.Net、NEST 交流羣:523061899索引

相關文章
相關標籤/搜索