查詢結果中某些字段的描述:
值部分會整體查詢,不會分段,和match不壹樣。匹配的值將被分段用於匹配查詢。
返回的文檔必須滿足must子句的條件,並參與分數的計算。
返回的文檔必須滿足篩選子句的條件。但不會像Must壹樣參與分數的計算。
返回的文檔可能滿足should子句的條件。在Bool查詢中,如果沒有must或filter,但有壹個或多個should子句,只要滿足其中壹個子句,就可以返回。minimum_should_match參數至少定義了幾個子句,缺省值是1。
返回的文檔不能滿足must_not定義的條件。
如果查詢同時具有filter和should,則它至少包含壹個should子句。
Bool查詢還支持禁用協作評分選項disable_coord。通常,計算分數的因素取決於所有的查詢條件。
Bool query也采用了more_matches_is_better的機制,所以滿足must和should子句的文檔會被合並計算得分。
使用_source只查詢需要顯示的列,相當於sql的select offset,methodName from。...
From表示從哪壹行開始,size表示要查詢多少個文檔。From默認為0,size默認為10。
諸如
聚集查詢的結構:
例如:
比如在所有文檔中找出壹個字段的最大值、最小值、總和、平均值,就可以算出壹個字段。
以avg為例,計算所有文檔中偏移量的平均值。
運行結果:
該聚合通常與域中的其他單值聚合結合使用。比如在計算壹個字段的平均值的時候,妳可能也會註意這個平均值是計算了多少個值。
示例:統計maiDianType字段在搜索結果中出現的次數。
搜索結果:
基於文檔的某個值(可以是特定的字段,也可以是腳本計算出來的),計算文檔的非重復數(去重計數),相當於sql中的distinct。
示例:統計搜索結果中maiDianType的類型。
搜索結果:maiDianType***有6個值。
壹些統計信息(min、max、sum、count、avg5值)是基於文檔的某個值(可以是特定的數值字段,也可以是腳本計算的)計算出來的。
示例:基於使用時間的值統計
Ps:在這個例子中,統計是基於腳本的。
統計結果:
與stats類似,它比stats多了四個統計結果:平方和、方差、標準差和平均正負兩個標準差的區間。
示例:
結果:
對指定字段(腳本)中的值從小到大累加每個值對應的文檔數的比例(占所有命中文檔的百分比),返回指定比例對應的值。默認情況下,返回[1,5,25,50,75,95,99]點上的值,也可以指定點。
示例:
結果:
ps:
“1.0”:30代表:使用時間
“99.0”:237代表:使用時間
示例:指定聚合的百分比。
查詢結果:
詞聚合。基於壹個字段,字段中每個唯壹的單詞就是壹個桶,每個桶都可以重新聚合。
column:prod subno的每個值都用作聚合,默認情況下聚合結果從最大到最小排序。
搜索結果:
Doc_count_error_upper_bound: //文檔計數的最大偏差值。
Sum_other_doc_count:,//未返回的其他項目的單據數。
列:以prodSubNo的每個值為聚合,得到的桶將繼續進行avg子聚合,從而得到每個prodSubNo下useTime的avg聚合結果。
搜索結果:
基於壹個條件,當前文檔被過濾和聚集。
例:過濾查詢結果,prodSubNo=601001聚合過濾,可以對過濾後的內容進行子聚合查詢,這裏使用的是統計聚合。
查詢結果:
基於多個過濾條件,對當前文檔進行過濾和聚合,每個過濾器包含所有符合條件的文檔(可能在多個桶中重復),然後進行過濾和聚合。
示例:使用prodSubNo=601001和maiDianType=script分別篩選索引結果。
搜索結果:
範圍分組聚合。基於某個值(可以是字段,也可以是腳本),按字段範圍進行桶聚合。範圍聚合包括起始值,但不包括終止值(間隔在開始前關閉)。
示例:聚合0-20和20-40範圍內的使用時間字段的值。
Ps:對於範圍聚合後的結果,也可以進行亞聚合。
搜索結果: