Class LCSearchQuery<T extends LCObject>

java.lang.Object
cn.leancloud.search.LCSearchQuery<T>

public class LCSearchQuery<T extends LCObject> extends Object
  • Field Details

  • Constructor Details

    • LCSearchQuery

      public LCSearchQuery()
    • LCSearchQuery

      public LCSearchQuery(String queryString)
    • LCSearchQuery

      public LCSearchQuery(String queryString, Class<T> clazz)
  • Method Details

    • getSortBuilder

      public LCSearchSortBuilder getSortBuilder()
      获取当前的AVSearchSortBuilder对象
      Returns:
      sort builder.
    • setSortBuilder

      public void setSortBuilder(LCSearchSortBuilder sortBuilder)
      设置查询的AVSearchSortBuilder,使用更丰富的排序选项。
      Parameters:
      sortBuilder - sort builder.
    • getClassName

      public String getClassName()
      获取查询的className,默认为null,即包括所有启用了应用内搜索的class
      Returns:
      class name.
    • order

      public LCSearchQuery order(String order)
      设置查询字段列表,以逗号隔开的字符串,例如"a,b,c",表示按照a,b,c三个字段的顺序排序,如果字段前面有负号,表示倒序,例如"a,-b"
      Parameters:
      order - order string.
      Returns:
      Returns the query, so you can chain this call.
    • orderByAscending

      public LCSearchQuery orderByAscending(String key)
      根据提供的key进行升序排序
      Parameters:
      key - 需要排序的key
      Returns:
      Returns the query, so you can chain this call.
    • orderByDescending

      public LCSearchQuery orderByDescending(String key)
      根据提供的key进行降序排序
      Parameters:
      key - The key to order by.
      Returns:
      Returns the query, so you can chain this call.
    • addAscendingOrder

      public LCSearchQuery addAscendingOrder(String key)
      Also sorts the results in ascending order by the given key. The previous sort keys have precedence over this key.
      Parameters:
      key - The key to order by
      Returns:
      Returns the query so you can chain this call.
    • addDescendingOrder

      public LCSearchQuery addDescendingOrder(String key)
      Also sorts the results in descending order by the given key. The previous sort keys have precedence over this key.
      Parameters:
      key - The key to order by
      Returns:
      Returns the query so you can chain this call.
    • setClassName

      public void setClassName(String className)
      设置查询的className,否则将包括所有启用了应用内搜索的class
      Parameters:
      className - class name
    • setLimit

      public void setLimit(int limit)
      设置搜索的结果单页大小限制,默认值为100,最大为1000
      Parameters:
      limit - pagination limit.
    • getLimit

      public int getLimit()
      获得搜索结果的单页大小限制
      Returns:
      pagination limit.
    • getSkip

      public int getSkip()
      返回当前返回集合的其实位置
      Returns:
      current skip.
    • setSkip

      public void setSkip(int skip)
      设置返回集合的起始位置,一般用于分页
      Parameters:
      skip - skip value.
    • setHightLights

      public void setHightLights(String hightlights)
      设置返回的高亮语法,默认为"*" 语法规则可以参考  http://www.elasticsearch.org/guide/en/elasticsearch/reference/current /search-request-highlighting.html#highlighting-settings
      Parameters:
      hightlights - highlight setting.
    • getHightLights

      public String getHightLights()
      获取当前设定的语法高亮
      Returns:
      highlight setting.
    • setFields

      public void setFields(List<String> fields)
    • getFields

      public List<String> getFields()
    • setSid

      public void setSid(String sid)
      设置查询id,通常您都不需要调用这个方法来设置,只要不停调用find就可以实现分页。 不过如果需要将查询分页传递到其他Activity,则可能需要通过传递sid来实现。
      Parameters:
      sid - search session id.
    • getSid

      public String getSid()
      获取本次查询的id,注意,它不是返回结果中对象的objectId,而是表示本次AVSearchQuery查询的id
      Returns:
      search session id.
    • setTitleAttribute

      public void setTitleAttribute(String titleAttribute)
      此选项为AVOSCloud SearchActivity使用 指定Title所对应的Field
      Parameters:
      titleAttribute - title setting.
    • getTitleAttribute

      public String getTitleAttribute()
      获取当前指定的title 对应的Field
      Returns:
      title setting.
    • setQueryString

      public void setQueryString(String query)
      设置搜索的查询语句。 详细语法可以参考http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl -query-string-query.html#query-string-syntax
      Parameters:
      query - query string.
    • getQueryString

      public String getQueryString()
    • getHits

      public int getHits()
    • include

      public void include(String key)
    • findInBackground

      public io.reactivex.Observable<List<T>> findInBackground()
      execute query in background.
      Returns:
      observable instance.
    • findInBackground

      public io.reactivex.Observable<List<T>> findInBackground(LCUser asAuthenticatedUser)
      execute query in background.
      Parameters:
      asAuthenticatedUser - explicit user for request authentication.
      Returns:
      observable instance. in general, this method should be invoked in lean engine.
    • getSearchResult

      protected io.reactivex.Observable<List<T>> getSearchResult(LCUser asAuthenticatedUser, Map<String,String> params)