<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 搜索API 現在,讓我們以一些簡單的搜索來開始學習。有兩種基本的方式來運行搜索:一種是在REST請求的URI中發送搜索參數,另一種是將搜索參數發送到REST請求體中。請求體方法的表達能力更好,并且你可以使用更加可讀的JSON格式來定義搜索。我們將嘗試使用一次請求URI作為例子,但是教程的后面部分,我們將僅僅使用請求體方法。 搜索的REST API可以通過`_search`端點(endpoint)來訪問。下面這個例子返回`bank`索引中的所有的文檔: ``` GET /bank/_search?q=*&sort=account_number:asc&pretty ``` 先來分析一下搜索請求。我們在`bank`索引庫中搜索( `_search`端點),并且`q=*`參數指示Elasticsearch去匹配這個索引中所有的文檔。`sort=account_number:asc`指示結果按`account_number`字段升序排列。pretty參數僅僅是告訴Elasticsearch返回美觀的JSON結果。 以下是響應(部分列出): ``` { "took" : 63, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 1000, "max_score" : null, "hits" : [ { "_index" : "bank", "_type" : "account", "_id" : "0", "sort": [0], "_score" : null, "_source" : {"account_number":0,"balance":16623,"firstname":"Bradshaw","lastname":"Mckenzie","age":29,"gender":"F","address":"244 Columbus Place","employer":"Euron","email":"bradshawmckenzie@euron.com","city":"Hobucken","state":"CO"} }, { "_index" : "bank", "_type" : "account", "_id" : "1", "sort": [1], "_score" : null, "_source" : {"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"amberduke@pyrami.com","city":"Brogan","state":"IL"} }, ... ] } } ``` 對于這個響應,我們可以看到如下的部分: - `took`:Elasticsearch 執行這個搜索的耗時,以毫秒為單位 - `timed_out`:指明這個搜索是否超時 - `_shards`:指出多少個分片被搜索了,同時也標記了搜索成功與失敗分片的數量 - `hits`:搜索結果 - `hits.total`:匹配查詢條件的文檔的總數目 - `hits.hits`:真正的搜索結果數組(默認是前10個文檔) - `hits.sort`:結果排序字段(如果缺失則按照得分排序) - `hits._score` 和 `max_score`:現在先忽略這些字段 使用請求體方法的等價搜索是: ``` GET /bank/_search { "query": { "match_all": {} }, "sort": [ { "account_number": "asc" } ] } ``` 與上面方法不同之處在于,并不是向URI中傳遞`q=*`,取而代之的是在`_search` API的請求體中POST了一個JSON格式的請求體。我們將在下一個章節中討論這個JSON查詢。 有一點你需要重點關注,一旦你取回了搜索結果,Elasticsearch就完成了使命,它不會保持任何服務器端的資源或者在你的結果中打開游標。這是和其它像SQL平臺的一個鮮明的對比, 在那些平臺上,你在先獲取到查詢結果的子集之后可以不斷的從服務器提取結果中的剩余部分,這個數據集使用了一種有狀態的服務器端游標技術。 > my note > > [數據庫——游標 ](http://blog.csdn.net/liujiahan629629/article/details/18014051)
                  <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>

                              哎呀哎呀视频在线观看