<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 最簡單理解web前端

          2020-5-12    前端達人

          web前端

          web中開發的三個基本技術(html5,css3,JavaScript)

          html簡介:html語言是純文本類型的語言,是internet上用來編寫網頁的主要語言,使用HTML語言編寫的網頁文件也是標準的純文本文件(簡單說告訴瀏覽器顯示什么)
          .
          css簡介:css是一種網頁控制技術,采用css技術,可以有效地對頁面、字體、顏色、背景和其他效果實現更加精準的控制
          (簡單的說告訴瀏覽器如何顯示)
          .
          JavaScript:JavaScript是web頁面中的一種腳本編程語言,也是一種通用的、跨平臺的、基于對象和事件驅動并具有安全性的腳本語言。它不需要進行編譯,而是直接嵌入HTML頁面中,把靜態頁面變成動態頁面。(簡單的來說告訴瀏覽器如何交互)

          簡單HTML文件結構

          <html>/*文件開始*/ <head>/*文件頭*/ <title>標題</title>/*文件標題*/ </head> <body>內容</body> </html>/*文件結束*/

          HTML常用的標記

          <br>換行 <p></p>段落 <s></s>刪除線 <b></b>字體粗體 <u></u>下劃線 <em></em>斜體內容 <sub></sub> 下標 <sup></sup>上標 <hr></hr>水平線 <a></a>超鏈接 .....





          bool查詢簡介

          Elasticsearch(下面簡稱ES)中的bool查詢在業務中使用也是比較多的。在一些非實時的分頁查詢,導出的場景,我們經常使用bool查詢組合各種查詢條件。



          Bool查詢包括四種子句,



          must

          filter

          should

          must_not

          我這里只介紹下must和filter兩種子句,因為是我們今天要講的重點。其它的可以自行查詢官方文檔。



          must, 返回的文檔必須滿足must子句的條件,并且參與計算分值

          filter, 返回的文檔必須滿足filter子句的條件。但是跟Must不一樣的是,不會計算分值, 并且可以使用緩存

          從上面的描述來看,你應該已經知道,如果只看查詢的結果,must和filter是一樣的。區別是場景不一樣。如果結果需要算分就使用must,否則可以考慮使用filter。



          光說比較抽象,看個例子,下面兩個語句,查詢的結果是一樣的。



          使用filter過濾時間范圍,

          GET kibana_sample_data_ecommerce/_search
          {
            "size": 1000, 
            "query": {
              "bool": {
                "must": [
                  {"term": {
                    "currency": "EUR"
                  }}
                ],
                "filter": {
                  "range": {
                    "order_date": {
                      "gte": "2020-01-25T23:45:36.000+00:00",
                      "lte": "2020-02-01T23:45:36.000+00:00"
                    }
                  }
                }
              }
            }
          }
          


          filter比較的原理

          上一節你已經知道了must和filter的基本用法和區別。簡單來講,如果你的業務場景不需要算分,使用filter可以真的讓你的查詢效率飛起來。



          為了說明filter查詢的原因,我們需要引入ES的一個概念 query context和 filter context。



          query context



          query context關注的是,文檔到底有多匹配查詢的條件,這個匹配的程度是由相關性分數決定的,分數越高自然就越匹配。所以這種查詢除了關注文檔是否滿足查詢條件,還需要額外的計算相關性分數.



          filter context



          filter context關注的是,文檔是否匹配查詢條件,結果只有兩個,是和否。沒有其它額外的計算。它常用的一個場景就是過濾時間范圍。



          并且filter context會自動被ES緩存結果,效率進一步提高。



          對于bool查詢,must使用的就是query context,而filter使用的就是filter context。



          我們可以通過一個示例驗證下。繼續使用第一節的例子,我們通過kibana自帶的search profiler來看看ES的查詢的詳細過程。



          使用must查詢的執行過程是這樣的:



          可以明顯看到,此次查詢計算了相關性分數,而且score的部分占據了查詢時間的10分之一左右。



          filter的查詢我就不截圖了,區別就是score這部分是0,也就是不計算相關性分數。



          除了是否計算相關性算分的差別,經常使用的過濾器將被Elasticsearch自動緩存,以提高性能。



          我自己曾經在一個項目中,對一個業務查詢場景做了這種優化,當時線上的索引文檔數量大概是3000萬左右,改成filter之后,查詢的速度幾乎快了一倍。


          總結

          我們應該根據自己的實際業務場景選擇合適的查詢語句,在某些不需要相關性算分的查詢場景,盡量使用filter context可以讓你的查詢更加。


          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          久久精品国产99久久无毒不卡| 久久97久久97精品免视看| 久久久久亚洲AV成人网人人软件| 欧美一区二区精品久久| 精品久久久久久| 三级片免费观看久久| 漂亮人妻被黑人久久精品| 久久精品视频免费| 大香伊人久久精品一区二区| 精品国产乱码久久久久久1区2区| 久久精品国产精品亚洲精品 | 国内精品久久人妻互换| 亚洲国产精品久久久久| 人人妻久久人人澡人人爽人人精品 | 久久精品亚洲欧美日韩久久| 99久久夜色精品国产网站| 国产91久久综合| 久久精品中文字幕一区| 国产亚州精品女人久久久久久| 久久夜色精品国产亚洲| 久久亚洲国产精品一区二区| 思思久久99热只有频精品66| 国产AV影片久久久久久 | 久久久久噜噜噜亚洲熟女综合| 伊人久久精品无码av一区| 久久高潮一级毛片免费| 青青草国产精品久久| 99久久777色| 久久久久久久亚洲Av无码| 偷窥少妇久久久久久久久| 久久精品国产亚洲Aⅴ香蕉| 亚洲国产精品一区二区久久| 日日躁夜夜躁狠狠久久AV| 亚洲精品无码久久久久去q| 久久久久久亚洲精品影院| 国内精品久久久久影院亚洲| 久久久久无码精品| 日韩美女18网站久久精品| 色综合久久中文字幕综合网| 日本精品久久久久久久久免费| 国产精品欧美亚洲韩国日本久久|