SearchRequestBuilder常用方法說明


SearchRequestBuilder常用方法說明

(1) setIndices(String... indices):上文中描述過,參數可為一個或多個字符串,表示要進行檢索的index;

(2) setTypes(String... types):參數可為一個或多個字符串,表示要進行檢索的type,當參數為0個或者不調用此方法時,表示查詢所有的typesetSearchType(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