Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting ElasticSearch:对复杂查询进行排序_Sorting_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Nested - Fatal编程技术网 elasticsearch,nested,Sorting,elasticsearch,Nested" /> elasticsearch,nested,Sorting,elasticsearch,Nested" />

Sorting ElasticSearch:对复杂查询进行排序

Sorting ElasticSearch:对复杂查询进行排序,sorting,elasticsearch,nested,Sorting,elasticsearch,Nested,我在Elasticsearch(如下)中有一个复杂的查询,我需要在“Activité”(活动)bucket中按日期升序排序。查询可以工作,但我创建日期的基本排序不能工作。我正在寻找如何按创建日期按升序对活动进行排序。例如,我看过一些关于嵌套查询的帖子,但它们似乎没有回答如何解决我查询的复杂性 我正在使用ElasticSearch 2.3.5和Lucene 5.5.0 var searchQuery = { index: "resultats_" + env, body: { si

我在Elasticsearch(如下)中有一个复杂的查询,我需要在“Activité”(活动)bucket中按日期升序排序。查询可以工作,但我创建日期的基本排序不能工作。我正在寻找如何按创建日期按升序对活动进行排序。例如,我看过一些关于嵌套查询的帖子,但它们似乎没有回答如何解决我查询的复杂性

我正在使用ElasticSearch 2.3.5和Lucene 5.5.0

var searchQuery = {
  index: "resultats_" + env,
  body: {
    size: 0,
    sort: [{ date_creation: { order: "asc", mode: "min" } }],
    query: {
      filtered: {
        query: {
          match_all: {}
        },
        filter: {
          query: {
            bool: {
              should: [{}],
              must: [
                {
                  term: {
                    player_id: {
                      value: params.player_id
                    }
                  }
                },
                {
                  term: {
                    classes: {
                      value: params.grade
                    }
                  }
                }
              ],
              must_not: [{}]
            }
          }
        }
      }
    },
    aggs: {
      Matière: {
        terms: {
          field: "id_matiere",
          size: 10
        },
        aggs: {
          "Titre matière": {
            top_hits: {
              _source: {
                include: ["titre_matiere"]
              },
              size: 1
            }
          },
          PP: {
            terms: {
              field: "id_point_pedago",
              size: 10
            },
            aggs: {
              "Titre PP": {
                top_hits: {
                  _source: {
                    include: ["titre_point_pedago"]
                  },
                  size: 1
                }
              },
              Compétence: {
                terms: {
                  field: "id_competence",
                  size: 10
                },
                aggs: {
                  "Titre compétence": {
                    top_hits: {
                      _source: {
                        include: ["titre_competence"]
                      },
                      size: 1
                    }
                  },
                  Activité: {
                    terms: {
                      field: "id_activite",
                      size: 10
                    },
                    aggs: {
                      "Titre activité": {
                        top_hits: {
                          _source: {
                            include: [
                              "titre_activite",
                              "nombre_perimetre_occurrence"
                            ]
                          },
                          size: 1
                        }
                      },
                      Trimestres: {
                        filters: {
                          filters: {
                            T1: {
                              range: {
                                date_creation: {
                                  gte: params.t1_start,
                                  lte: params.t1_end
                                }
                              }
                            },
                            T2: {
                              range: {
                                date_creation: {
                                  gte: params.t2_start, 
                                  lte: params.t2_end 
                                }
                              }
                            },
                            T3: {
                              range: {
                                date_creation: {
                                  gte: params.t3_start, 
                                  lte: params.t3_end
                                }
                              }
                            }
                          }
                        },
                        aggs: {
                          Moyenne: {
                            avg: {
                              field: "resultat"
                            }
                          },
                          Occurrences: {
                            cardinality: {
                              field: "id_occurrence",
                              precision_threshold: 1000
                            }
                          },
                          Résultat: {
                            terms: {
                              field: "resultat",
                              size: 10,
                              min_doc_count: 0
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
};

您可以这样做:

              Activité: {
                terms: {
                  field: "id_activite",
                  size: 10
                },
                aggs: {
                  "Titre activité": {
                    top_hits: {
                      _source: {
                        include: [
                          "titre_activite",
                          "nombre_perimetre_occurrence"
                        ]
                      },
                      size: 1,
add this line ->      sort: [{ date_creation: { order: "asc", mode: "min" } }],
                    }
                  },

那么你想在
Activité
聚合下对热门歌曲进行排序吗?是的,@Val听起来不错。我还不能确认它是否有效,但我可以确认它没有破坏我的查询-你的回答帮助我了解大致情况。很酷,很高兴它有帮助,如果你有更多问题,请随时回来。