Elasticsearch學習之SearchRequestBuilder常用方法說明


SearchRequestBuilder常用方法說明

   (1) setIndices(String... indices):上文中描述過,參數可為一個或多個字符串,表示要進行檢索的index;
  (2) setTypes(String... types):參數可為一個或多個字符串,表示要進行檢索的type,當參數為0個或者不調用此方法時,表示查詢所有的type;
  setSearchType(SearchType searchType):執行檢索的類別,值為org.elasticsearch.action.search.SearchType的元素,SearchType是一個枚舉類型的類,
其值如下所示:
  QUERY_THEN_FETCH:查詢是針對所有的塊執行的,但返回的是足夠的信息,而不是文檔內容(Document)。結果會被排序和分級,基於此,只有相關的塊的文檔對象會被返回。由於被取到的僅僅是這些,故而返回的hit的大小正好等於指定的size。這對於有許多塊的index來說是很便利的(返回結果不會有重復的,因為塊被分組了)
  QUERY_AND_FETCH:最原始(也可能是最快的)實現就是簡單的在所有相關的shard上執行檢索並返回結果。每個shard返回一定尺寸的結果。由於每個shard已經返回了一定尺寸的hit,這種類型實際上是返回多個shard的一定尺寸的結果給調用者。
  DFS_QUERY_THEN_FETCH:與QUERY_THEN_FETCH相同,預期一個初始的散射相伴用來為更准確的score計算分配了的term頻率。
  DFS_QUERY_AND_FETCH:與QUERY_AND_FETCH相同,預期一個初始的散射相伴用來為更准確的score計算分配了的term頻率。
  SCAN:在執行了沒有進行任何排序的檢索時執行瀏覽。此時將會自動的開始滾動結果集。
  COUNT:只計算結果的數量,也會執行facet。
  (4) setSearchType(String searchType),與setSearchType(SearchType searchType)類似,區別在於其值為字符串型的SearchType,值可為dfs_query_then_fetch、dfsQueryThenFetch、dfs_query_and_fetch、dfsQueryAndFetch、query_then_fetch、queryThenFetch、query_and_fetch或queryAndFetch;
  (5) setScroll(Scroll scroll)、setScroll(TimeValue keepAlive)和setScroll(String keepAlive),設置滾動,參數為Scroll時,直接用new Scroll(TimeValue)構造一個Scroll,為TimeValue或String時需要將TimeValue和String轉化為Scroll;
  (6) setTimeout(TimeValue timeout)和setTimeout(String timeout),設置搜索的超時時間;
  (7) setQuery,設置查詢使用的Query;
  (8) setFilter,設置過濾器;
  (9) setMinScore,設置Score的最小數量;
  (10) setFrom,從哪一個Score開始查;
  (11) setSize,需要查詢出多少條結果;

 
       


免責聲明!

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



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