我在我的ElasticSearch專案中寫了一些可以按日期過濾的查詢。我是這樣寫的:
var searchResponse = client.Search<mdl.Event>(s => s
.Query(q => q
.QueryString(qs => qs
.Query(search.Space))
&& q
.DateRange(r => r
.Field(f => f.CreatedTimeStamp)
.GreaterThanOrEquals(search.From)
.LessThanOrEquals(search.To))));
然而,search.From和search.To是可選的輸入,所以它們可能變成空的。在它們為空的情況下,這是否會破壞查詢?還是會像查詢中的DateRange部分一樣繼續下去?
uj5u.com熱心網友回復:
巢狀查詢的條件較少。如果輸入被確定為空或空字串,那么該查詢將從請求中被省略。
所以你不需要檢查每個過濾器屬性是否為空,NEST將默認執行這個過濾。
在你的例子中,如果search.From和search.To是空的,那么范圍檢查將從最終的查詢中洗掉
。轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/329572.html
標籤:
