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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM