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

相关文章
相关标签/搜索