ElasticSearch(6.2.2)的java API官方文檔的總結 (三)


一 : SearchRequest用於任何與搜索文檔,聚合和建議有關的操作,並且還提供了對生成的文檔進行高亮顯示的方法。 在最基本的形式中,我們可以向請求添加一個查詢:

     1:添加一個SearchRequest 的對象用於發送請求

   2:添加一個 SearchSourceBuilder 對象,用於添加搜索的參數(例如,分頁信息頁碼,頁容量等)

   3:將match_all添加到 searchSourceBuilder中

   SearchRequest searchRequest = new SearchRequest();

           SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

         searchSourceBuilder.query(QueryBuilders.matchAllQuery());

 

二:可選參數:

  1 SearchRequest 中可以選擇的設置參數:

    1.1  添加檢索的索引

    1.2 添加檢索的類型

         SearchRequest searchRequest = new SearchRequest("posts");

           searchRequest.types("doc");

    1.3 SearchRequest 的其他的一些可以設置的參數:

      1.3.1 設置路由的參數(?)

             searchRequest.routing("routing");

      1.3.2 SearchRequest 設置指數參數打的可選指數 ,控制不可用索引如何解析以及如何擴展通配符表達式(?)

        searchRequest.indicesOptions(IndicesOptions.lenientExpandOpen());

      1.3.3 使用首選項參數,例如執行搜索以選擇本地碎片。缺省值是在整個分片中隨機化。(?)

        searchRequest.preference("_local");

 

     2 SearchSourceBuilder的檢索參數的設置   

    

       <1>使用默認選項創建一個SearchSourceBuilder

      SearchSourceBuilder sourceBuilder = new SearchSourceBuilder(); 
      <2> 設置查詢。 可以是任何類型的QueryBuilder       sourceBuilder.query(QueryBuilders.termQuery("user", "kimchy"));
      <3> 在指定索引下,檢索開始的位置(從指定的記錄條數的位置開始查詢) 默認是0       sourceBuilder.from(0);
      <4> 檢索記錄數的總數       sourceBuilder.size(5);
<5> 設置一個可選超時,控制允許搜索的時間。       sourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));

 

 三 :將 SearchSourceBuilder 的對象設置到


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM