我面临以下问题。 我对记录一组特定的几个排序的查询,在我的索引,类似下面的一个,其中term1匹配值每次查询的变化,而对于term2它们保持静止的所有查询。

{
   "query": {
        "bool": {
            "must": {
                "terms": {
                    "term1": [ "val1", "val2" ]   
                }
            },
            "must_not": {
                "terms": {
                    "term2": [ "val3", "val4" ]   
                }
            }
        }
    },
    "sort": [
        { "sort_term": "desc" }
    ],
    "from": 0,
    "size": 10
}

现在,我将分别执行所有这些查询,然后将它们的结果合并并改写为代码,您可能会说这是不理想的。 我想知道是否有一种方法可以在ElasticSearch中合并这些查询,同时保持基于组的排序。

我之所以要保持每个查询的排序顺序,是因为排序值不统一,并且我不希望将来自不同组的结果隐藏在结果集中。

我能想到的唯一解决方案是以某种方式重新处理所有记录并基于给定组中所有记录的排序值来计算相对排序值,但是这些值变化非常频繁,索引中有很多记录,因此可能会过分杀伤力。

任何想法将不胜感激!

#1楼 票数:0

您可以在排序数组中使用多个术语。 如果您组合查询,我将首先按_type排序,这样可以避免混淆搜索结果。 您的查询的排序字段应类似于:

"sort": [
    { "_type": "desc" },
    { "sort_term_query1": "desc" },
    { "sort_term_query2": "desc" },
],

  ask by OrfeasZ translate from so

未解决问题?本站智能推荐:

1回复

elasticsearch查询aggs排序最大日期

我有这样的数据: Id GroupId UpdateDate 1 1 2013-11-15T12:00:00 2 1 2013-11-20T12:00:00 3 2 2013-12-01T12:00:00 4 2 2013-13-01T12:00:00 5 2 2013
1回复

Oracle SQL排序组

我有一个查询,返回PartNum , OrderNum和NeedDate : 我需要将其分类为以下内容: 本质上,我需要将它们按部件号分组,并按每个部件的最小日期排序。 是否可以通过一个查询执行此操作?
1回复

排序DataGrid组

我有一个非常基本的DataGrid ,其中包含一些测试数据。 数据以Client objects的ObservableCollection<T>的形式提供,其中包含Organization , FirstName和LastName属性。 我按Organization项目进行分组,
1回复

Crystal Reports组排序

我有每个用户的航班数据记录。 下表显示了一个用户ID的示例。 我需要按具有最新flight_date的user_id分组(每个user_id仅显示一行)。 当我添加按user_id分组时,结果报告会显示正确的排期日期,但其余字段来自每个用户的最后一行(突出显示的字段)。如何使整行显示最
1回复

Elastic Search 聚合增强过滤嵌套查询

我有以下对象索引: 即,添加不同角色的项目列表,添加时间不同。 (角色列表是一个嵌套字段) 我需要的是聚合可以选择每个特定角色存在多少个项目,但仅(!)如果该角色在特定时期添加到项目中。 经典查询(没有日期兰德过滤)如下所示(并且运行良好): 但这种方法是不是为我工作,因为如果我需要从
1回复

组属性-不按字母顺序排序

在一个小组中,我有四个SSRS按字母顺序排序的项目:已分配,新,旧,续订, 希望报告按以下顺序排列:新,续订,已分配,旧, 如何在“组属性”>“排序”中完成此操作? 谢谢!
1回复

SQLite计数,组和按计数排序

我有一个看起来像这样的表: 结果我想知道每个栏在表中出现的次数..所以,我正在寻找的输出看起来像这样: 我可以在SQLite中查询类似的内容吗? 我想它应该很简单,但我不是一个SQL程序员,我只需要这个简单的查询作为python脚本的一部分..谢谢。
2回复

XCode4-排列排序组

这是我先前对项目树中的组进行排序的问题 。 它适用于XCode不同版本,但不适用于XCode4。 在这里,我要在项目树中对组,文件,框架进行排序。 这是我的项目中未排序文件的快照。