From 267b7065444b2904e1172817c661709e0b456b80 Mon Sep 17 00:00:00 2001 From: Jebbs Date: Tue, 12 Feb 2019 14:20:07 +0800 Subject: Sort search results by relevance --- storage/entry_query_builder.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'storage/entry_query_builder.go') diff --git a/storage/entry_query_builder.go b/storage/entry_query_builder.go index 192f515..c4f6e43 100644 --- a/storage/entry_query_builder.go +++ b/storage/entry_query_builder.go @@ -33,6 +33,9 @@ func (e *EntryQueryBuilder) WithSearchQuery(query string) *EntryQueryBuilder { e.conditions = append(e.conditions, fmt.Sprintf("e.document_vectors @@ plainto_tsquery($%d)", len(e.args)+1)) e.args = append(e.args, query) } + // ordered by relevance, can be overrode + e.WithOrder(fmt.Sprintf("ts_rank(document_vectors, plainto_tsquery('%s'))", query)) + e.WithDirection("DESC") return e } @@ -315,7 +318,7 @@ func (e *EntryQueryBuilder) buildSorting() string { var parts []string if e.order != "" { - parts = append(parts, fmt.Sprintf(`ORDER BY "%s"`, e.order)) + parts = append(parts, fmt.Sprintf(`ORDER BY %s`, e.order)) } if e.direction != "" { -- cgit v1.2.3