Skip to content

Commit da2a939

Browse files
committed
Merge branch 'improve-search'
2 parents d303d15 + 062c905 commit da2a939

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

src/db/mod.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,8 @@ pub fn update_search_index(conn: &Connection) -> Result<u64, Error> {
5353
setweight(to_tsvector(coalesce(releases.description, '')), 'B') ||
5454
setweight(to_tsvector(coalesce((
5555
SELECT string_agg(value, ' ')
56-
FROM json_array_elements_text(releases.keywords)), '')), 'B') ||
57-
setweight(to_tsvector(coalesce(releases.readme, '')), 'C') ||
58-
setweight(to_tsvector(coalesce(releases.description_long, '')), 'C') as content
56+
FROM json_array_elements_text(releases.keywords)), '')), 'B')
57+
as content
5958
FROM releases
6059
INNER JOIN crates ON crates.id = releases.crate_id
6160
ORDER BY releases.crate_id, releases.release_time DESC

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)