当前位置: 首页 > 知识库问答 >
问题:

如何在spring data elasticsearch中传递排序模式?

司马彬
2023-03-14

如何在Spring data Elasticsearch中发送排序模式,类似于下面的Elasticsearch。

Elasticsearch搜索查询。

POST /_search
{
   "query" : {
      "term" : { "product" : "chocolate" }
   },
   "sort" : [
      {"price" : {"order" : "asc", "mode" : "avg"}}
   ]
}

我期待看到一些选项,如下面的search chQuery.with排序(SortBuilders.field排序(字段名)。

共有1个答案

谢鸿飞
2023-03-14

在Spring Data Elasticsearch中,您有不同的方法来定义搜索查询(请参阅https://docs.spring.io/spring-data/elasticsearch/docs/4.2.1/reference/html/#elasticsearch.operations.queries的留档)。所有这些查询类都实现了Query接口,因此有一个方法addSort(排序)

所以你基本上可以加上

query.addSort(Sort.by("fieldName").descending());

但是,查看普通的Elasticsearch查询,您已经指定了mode=avg。要使用排序模式,您需要使用Elasticsearch构建器将查询定义为NativeSearchQuery

NativeSearchQuery query =
        new NativeSearchQueryBuilder()
            .withQuery(termQuery("product", "chocolate"))
            .withSort(SortBuilders
                                .fieldSort("price")
                                .order(SortOrder.DESC)
                                .sortMode(SortMode.AVG))
        .build();
 类似资料:
  • 我有一个scala类a,其中有一个方法。 还有一个B类

  • 问题内容: 我是一个完整的Java新手。我知道Java将所有参数都视为按值传递,并且还有其他几个线程可以解释这一点。 例如,在C ++中,我可以执行以下操作: 哪个将输出3。我知道在Java中,所有参数都是按值传递的,因此您无法操纵传入的参数。在Java中,有没有一种标准的方法来 模拟 按引用传递?有没有办法调用操作传入变量的函数?对于我来说,很难绕开没有办法做到这一点的想法。 问题答案: 模拟传

  • 我已经将一个Yolo模型转换为.tflite,以便在Android中使用。在python中就是这样使用的-- 我使用netron https://github.com/lutzroeder/netron可视化模型。输入描述为name:inputs,类型:float32[1,416,416,3],quantization:0≤q≤255,位置:399,输出描述为name:output_boxs,类型

  • 问题内容: 我一直试图获得一个快速应用程序,以流形式发送响应。 当我将“ rs.pipe(res)”替换为“ rs.pipe(process.stdout)”时,它会在控制台中打印,但是如何使其在快速应用程序中工作。 问题答案: 您不需要可读的流实例,只需使用: 之所以可行,是因为在Express中,它基于Node自己的,因此它继承了其所有方法(如)。

  • 我有一个模型对象中的数据,我想把它放在我的Thymeleaf模板的输入字段中,这样,如果值为null,就不会显示任何内容,否则,输入将包含该值。我试过了,但没用。 我将这些值传递到java异常处理程序中的模型对象中,如下所示: 如何从我在my thymeleaf模板中的模型中传递的accountInfo对象中获取属性? 更新:现在它正在工作,但不是第一次在没有模型对象的情况下访问页面。代码如下:

  • 我创建了一个出价模型,以便类型2用户可以在类型1用户创建的一些“帖子”上出价。为了实现这一点,我在模型“出价”中为帖子字段做了一个外键。 实际上,我想把出价与一个特定的帖子联系起来,在“帖子”模型中自动生成“id”。因此,我将get_absolute_url放在我的模板中的Post'id'旁边。我是django的新手,我不确定它是否能满足我的需求。 我如何将带有post_id的出价与模板中的某个特