<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## 過濾查詢<Filter Query> ### 過濾查詢 過濾查詢<filter query>,其實準確來說,ES中的查詢操作分為2種: `查詢(query)`和`過濾(filter)`。查詢即是之前提到的`query查詢`,它 (查詢)默認會計算每個返回文檔的得分,然后根據得分排序。而`過濾(filter)`只會篩選出符合的文檔,并不計算 得分,而且它可以緩存文檔 。所以,單從性能考慮,過濾比查詢更快。 換句話說**`過濾適合在大范圍篩選數據,而查詢則適合精確匹配數據。一般應用時, 應先使用過濾操作過濾數據, 然后使用查詢匹配數據。`** ![](https://img.kancloud.cn/8c/92/8c922223362213a1db85c399c8d794bc_751x155.png) ### 使用 ```http GET /ems/emp/_search { "query": { "bool": { "must": [ {"match_all": {}} //查詢條件 ], "filter": {....} //過濾條件 } } ``` - `注意:` - 在執行 filter 和 query 時,先執行 filter 在執行 query - Elasticsearch會自動緩存經常使用的過濾器,以加快性能。 ### 類型 > 常見過濾類型有: term 、 terms 、ranage、exists、ids等filter。 #### term 、 terms Filter ```http GET /ems/emp/_search # 使用term過濾 { "query": { "bool": { "must": [ {"term": { "name": { "value": "小黑" } }} ], "filter": { "term": { "content":"框架" } } } } } GET /dangdang/book/_search #使用terms過濾 { "query": { "bool": { "must": [ {"term": { "name": { "value": "中國" } }} ], "filter": { "terms": { "content":[ "科技", "聲音" ] } } } } } ``` #### ranage filter ```http GET /ems/emp/_search { "query": { "bool": { "must": [ {"term": { "name": { "value": "中國" } }} ], "filter": { "range": { "age": { "gte": 7, "lte": 20 } } } } } } ``` #### exists filter > **過濾存在指定字段,獲取字段不為空的索引記錄使用** ```http GET /ems/emp/_search { "query": { "bool": { "must": [ {"term": { "name": { "value": "中國" } }} ], "filter": { "exists": { "field":"aaa" } } } } } ``` #### ids filter > **過濾含有指定字段的索引記錄** ```http GET /ems/emp/_search { "query": { "bool": { "must": [ {"term": { "name": { "value": "中國" } }} ], "filter": { "ids": { "values": ["1","2","3"] } } } } } ``` ---
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看