Elasticsearch學習之SearchRequestBuilder經常使用方法說明

SearchRequestBuilder經常使用方法說明elasticsearch

   (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,須要查詢出多少條結果;fetch

相關文章
相關標籤/搜索