SortOptions.Builder (Google App Engine API para Java)

com.google.appengine.api.search

Classe SortOptions.Builder

  • java.lang.Object
    • com.google.appengine.api.search.SortOptions.Builder
  • Classe de inclusão:
    SortOptions


    public static final class SortOptions.Builder
    extends java.lang.Object
    Um construtor que cria SortOptionss. Um SortOptions avaliará cada SortExpressions em cada resultado de pesquisa e aplicará uma ordem de classificação com a prioridade dada às expressões de classificação da esquerda para a direita. O código a seguir ilustra a criação de uma especificação SortOptions para classificar documentos com base na classificação decrescente do produto e, em seguida, dentro da classificação mostrando produtos mais baratos com base no preço mais impostos, classificando no máximo 2.000 documentos.

       SortOptions sortOptions = SortOptions.newBuilder()
           .addSortExpression(SortExpression.newBuilder()
               .setExpression("rating")
               .setDirection(SortExpression.SortDirection.DESCENDING)
               .setDefaultValueNumeric(0))
           .addSortExpression(SortExpression.newBuilder()
               .setExpression("price + tax")
               .setDirection(SortExpression.SortDirection.ASCENDING)
               .setDefaultValueNumeric(99999999.00))
           .setLimit(1000)
           .build();
     
    O seguinte fragmento de código mostra como a pontuação de um MatchScorer pode ser usada em uma expressão que combina a pontuação com um milésimo de um campo de "importância". No máximo, 1.000 documentos são pontuados e classificados.
       SortOptions sortOptions = SortOptions.newBuilder()
           .setMatchScorer(MatchScorer.newBuilder())
           .addSortExpression(SortExpression.newBuilder()
               .setExpression(String.format(
                   "%s + (importance * .001)", SortExpression.SCORE_FIELD_NAME))
               .setDirection(SortExpression.SortDirection.DESCENDING)
               .setDefaultValueNumeric(0))
           .setLimit(1000)
           .build();
     
    • Detalhes do método

      • setLimit

        public SortOptions.Builder setLimit(int limit)
        Define o limite na quantidade de documentos que serão pontuados ou classificados.
        Parâmetros:
        limit: o número máximo de documentos para pontuar ou classificar
        Retorna:
        este construtor
        Resultado:
        java.lang.IllegalArgumentException: se o limite estiver fora do intervalo
      • setMatchScorer

        public SortOptions.Builder setMatchScorer(MatchScorer matchScorer)
        Define um MatchScorer ou RescoringMatchScorer em que alguns SortExpressions serão baseados. O valor do matchScorer pode ser acessado usando o nome do campo "_score".
        Parâmetros:
        matchScorer: o matchScorer de nova pontuação/correspondência para usar em uma expressão criada em "_score"
        Retorna:
        este construtor
      • addSortExpression

        public SortOptions.Builder addSortExpression(SortExpression sortExpression)
        Adiciona uma SortExpression à lista de expressões de classificação.
        Parâmetros:
        sortExpression: uma expressão pela qual classificar documentos
        Retorna:
        este construtor
      • addSortExpression

        public SortOptions.Builder addSortExpression(SortExpression.Builder builder)
        Adiciona uma SortExpression criada a partir do construtor na lista de expressões de ordenação.
        Parâmetros:
        builder: um construtor de SortExpression pelo qual classificar documentos
        Retorna:
        este construtor