Skip to content

Commit b1e2222

Browse files
committed
Improve search
Closes: #111 Closes: #124 Closes: #150
1 parent d303d15 commit b1e2222

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/web/releases.rs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -234,16 +234,19 @@ fn get_search_results(conn: &Connection,
234234
let mut packages = Vec::new();
235235

236236
let rows = match conn.query("SELECT crates.name,
237-
releases.version,
238-
releases.description,
239-
releases.target_name,
240-
releases.release_time,
241-
releases.rustdoc_status,
242-
ts_rank_cd(crates.content, to_tsquery($1)) AS rank
237+
releases.version,
238+
releases.description,
239+
releases.target_name,
240+
releases.release_time,
241+
releases.rustdoc_status,
242+
ts_rank_cd(crates.content, to_tsquery($1)) AS rank
243243
FROM crates
244244
INNER JOIN releases ON crates.latest_version_id = releases.id
245-
WHERE crates.content @@ to_tsquery($1)
246-
ORDER BY rank DESC
245+
WHERE crates.name LIKE concat('%', $1, '%')
246+
OR crates.content @@ to_tsquery($1)
247+
ORDER BY crates.name = $1 DESC,
248+
crates.name LIKE concat('%', $1, '%') DESC,
249+
rank DESC
247250
LIMIT $2 OFFSET $3",
248251
&[&query, &limit, &offset]) {
249252
Ok(r) => r,

0 commit comments

Comments
 (0)