File tree Expand file tree Collapse file tree 2 files changed +13
-11
lines changed Expand file tree Collapse file tree 2 files changed +13
-11
lines changed Original file line number Diff line number Diff line change @@ -53,9 +53,8 @@ pub fn update_search_index(conn: &Connection) -> Result<u64, Error> {
53
53
setweight(to_tsvector(coalesce(releases.description, '')), 'B') ||
54
54
setweight(to_tsvector(coalesce((
55
55
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
59
58
FROM releases
60
59
INNER JOIN crates ON crates.id = releases.crate_id
61
60
ORDER BY releases.crate_id, releases.release_time DESC
Original file line number Diff line number Diff line change @@ -234,16 +234,19 @@ fn get_search_results(conn: &Connection,
234
234
let mut packages = Vec :: new ( ) ;
235
235
236
236
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
243
243
FROM crates
244
244
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
247
250
LIMIT $2 OFFSET $3" ,
248
251
& [ & query, & limit, & offset] ) {
249
252
Ok ( r) => r,
You can’t perform that action at this time.
0 commit comments