Re: Ranking search results using multiple fields in PostgreSQL fulltext search
От | Ivan Sergio Borgonovo |
---|---|
Тема | Re: Ranking search results using multiple fields in PostgreSQL fulltext search |
Дата | |
Msg-id | 20091012154613.433fd9f1@dawn.webthatworks.it обсуждение исходный текст |
Ответ на | Ranking search results using multiple fields in PostgreSQL fulltext search (Gaini Rajeshwar <raja.rajeshwar2006@gmail.com>) |
Ответы |
Re: Ranking search results using multiple fields in
PostgreSQL fulltext search
|
Список | pgsql-general |
On Mon, 12 Oct 2009 18:46:02 +0530 Gaini Rajeshwar <raja.rajeshwar2006@gmail.com> wrote: > Hi, > is there a way to rank the search results based on multiple fields > in postgreSQL? > For example, > i have *title*, *abstract*, *summary*, *body* as fields/columns in > my database. When user searches on *title*, i want to rank the > results based on *title* field as well as *summary* field, where > importance(summary) > importance(title). But the results should be > exactly matching the terms in "title" rather than "title" OR > "summary" http://www.postgresql.org/docs/current/interactive/textsearch-controls.html Basically, as you can read in the docs: - you create a ts_vector concatenating and giving a weight the various fields. - then you compare your ts_vector with plainto_tsquery(config, yourinput) @@ yourpreviouslycomputedts_vector and order by ts_rank(yourpreviouslycomputedts_vector, yourinput) (or ts_rank_cd) -- Ivan Sergio Borgonovo http://www.webthatworks.it
В списке pgsql-general по дате отправления: