<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 最簡單理解web前端

    2020-5-12    前端達人

    web前端

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

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

    簡單HTML文件結(jié)構(gòu)

    <html>/*文件開始*/ <head>/*文件頭*/ <title>標(biāo)題</title>/*文件標(biāo)題*/ </head> <body>內(nèi)容</body> </html>/*文件結(jié)束*/

    HTML常用的標(biāo)記

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





    bool查詢簡介

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



    Bool查詢包括四種子句,



    must

    filter

    should

    must_not

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



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

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

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



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



    使用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比較的原理

    上一節(jié)你已經(jīng)知道了must和filter的基本用法和區(qū)別。簡單來講,如果你的業(yè)務(wù)場景不需要算分,使用filter可以真的讓你的查詢效率飛起來。



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



    query context



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



    filter context



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



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



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



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



    使用must查詢的執(zhí)行過程是這樣的:



    可以明顯看到,此次查詢計算了相關(guān)性分?jǐn)?shù),而且score的部分占據(jù)了查詢時間的10分之一左右。



    filter的查詢我就不截圖了,區(qū)別就是score這部分是0,也就是不計算相關(guān)性分?jǐn)?shù)。



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



    我自己曾經(jīng)在一個項目中,對一個業(yè)務(wù)查詢場景做了這種優(yōu)化,當(dāng)時線上的索引文檔數(shù)量大概是3000萬左右,改成filter之后,查詢的速度幾乎快了一倍。


    總結(jié)

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


    日歷

    鏈接

    個人資料

    藍藍設(shè)計的小編 http://m.skdbbs.com

    存檔

    主站蜘蛛池模板: 综合国产精品第一页| 日韩精品专区在线影院重磅| 人妻一区二区三区无码精品一区| 久久精品国产亚洲av影院| 国产精品无码v在线观看| 久久久一本精品99久久精品88| 精品欧美一区二区在线看片| 国产精品电影网| 日韩精品区一区二区三VR| 欧美精品人爱a欧美精品| 91精品国产成人网在线观看| 国内精品人妻无码久久久影院| 欧美国产成人久久精品| 99久久精品国产一区二区蜜芽| 国产精品成熟老女人视频| 亚洲精品国产V片在线观看| 国产精品成人国产乱一区| 1000部精品久久久久久久久| 亚洲精品字幕在线观看| 久久久国产精品| 丰满人妻熟妇乱又伦精品劲| 精品国内片67194| 国产亚洲精品精华液| 亚洲国产精品无码专区影院 | 亚洲第一永久AV网站久久精品男人的天堂AV| 欧美精品免费在线| 国产精品拍天天在线| 久久精品人成免费| 亚洲av日韩精品久久久久久a| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 亚洲AV无码国产精品色午友在线 | 国产精品国产欧美综合一区| 亚洲第一精品在线视频| 国产精品一在线观看| 91精品国产9l久久久久| 国内精品人妻无码久久久影院 | 99久久国产主播综合精品| 久久精品国产亚洲欧美| 97精品国产91久久久久久| 国产成人久久精品区一区二区| 1000部精品久久久久久久久|