Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
282 views
in Technique[技术] by (71.8m points)

postgresql - Postgres fulltext search extract matched term

I am trying to implement a search term suggestion mechanism that works with PostgreSQL 11.1. Using GIN index for "search_vector_index" column.

My query so far for returning the matched rows:

SELECT "study_collection_collection"."id",
       "study_collection_collection"."name",
       "study_collection_collection"."description",
       "study_collection_collection"."search_vector_index",
       ((0 + SIMILARITY("study_collection_collection"."name", 'my coll')) + SIMILARITY("study_collection_collection"."description", 'my coll')) AS "similarity"
  FROM "study_collection_collection"
 WHERE ("study_collection_collection"."is_public" = true AND ((0 + SIMILARITY("study_collection_collection"."name", 'my coll')) + SIMILARITY("study_collection_collection"."description", 'my coll')) >= 0.1)
 GROUP BY "study_collection_collection"."id", ((0 + SIMILARITY("study_collection_collection"."name", 'my coll')) + SIMILARITY("study_collection_collection"."description", 'my coll'))
 ORDER BY "similarity" DESC
 LIMIT 5

What I actually want

Get matched terms all over the searched documents based on their frequency. Is this possible in Postgres? If so, how?

note: please don't refer to Lucene, Elasticsearch, Algolia, or other solutions that require a separate technology than Postgres.

question from:https://stackoverflow.com/questions/65949030/postgres-fulltext-search-extract-matched-term

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...