Skip to content

Commit 5a5e25f

Browse files
committed
Issue #22: enable sort on _doc
1 parent e2264b8 commit 5a5e25f

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

pkg/quickwit/data_query.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,7 @@ func processLogsQuery(q *Query, b *es.SearchRequestBuilder, from, to int64, defa
335335
sort = es.SortOrderAsc
336336
}
337337
b.Sort(sort, defaultTimeField, "boolean")
338-
// FIXME: check if sort by _doc is needed.
339-
// b.Sort(sort, "_doc", "")
338+
b.Sort(sort, "_doc", "")
340339
b.Size(stringToIntWithDefaultValue(metric.Settings.Get("limit").MustString(), defaultSize))
341340
// TODO when hightlight is supported in quickwit
342341
// b.AddHighlight()
@@ -352,7 +351,7 @@ func processLogsQuery(q *Query, b *es.SearchRequestBuilder, from, to int64, defa
352351
func processDocumentQuery(q *Query, b *es.SearchRequestBuilder, from, to int64, defaultTimeField string) {
353352
metric := q.Metrics[0]
354353
b.Sort(es.SortOrderDesc, defaultTimeField, "boolean")
355-
// b.Sort(es.SortOrderDesc, "_doc", "")
354+
b.Sort(es.SortOrderDesc, "_doc", "")
356355
// Note: not supported in Quickwit
357356
// b.AddDocValueField(defaultTimeField)
358357
b.Size(stringToIntWithDefaultValue(metric.Settings.Get("size").MustString(), defaultSize))

pkg/quickwit/response_parser.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ func processLogsResponse(res *es.SearchResponse, target *Query, configuredFields
108108

109109
doc := map[string]interface{}{
110110
"_source": flattened,
111+
"sort": hit["sort"],
111112
}
112113

113114
for k, v := range flattened {

pkg/quickwit/response_parser_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ func TestProcessLogsResponse(t *testing.T) {
304304
require.Len(t, dataframes, 1)
305305
frame := dataframes[0]
306306

307-
require.Equal(t, 11, len(frame.Fields))
307+
require.Equal(t, 12, len(frame.Fields))
308308
// Fields have the correct length
309309
require.Equal(t, 2, frame.Fields[0].Len())
310310
// First field is timeField
@@ -324,7 +324,7 @@ func TestProcessLogsResponse(t *testing.T) {
324324
require.Equal(t, "nested.field.double_nested", frame.Fields[8].Name)
325325
require.Equal(t, data.FieldTypeNullableString, frame.Fields[8].Type())
326326
// Correctly detects type even if first value is null
327-
require.Equal(t, data.FieldTypeNullableString, frame.Fields[10].Type())
327+
require.Equal(t, data.FieldTypeNullableJSON, frame.Fields[10].Type())
328328
})
329329
}
330330

0 commit comments

Comments
 (0)