Designing full-text search system with Postgres

Поделиться
HTML-код
  • Опубликовано: 2 авг 2024
  • In this video, we go over ideas from a blog post from levels.fyi on how they built a search system on top of Postgres. Postgres is one of the most popularly used databases out there and learning how to build full text search with postgres will be very useful.
    Contents:
    0:00 - 00:35 Intro / Why use postgres?
    00:35 - 01:38 Use-case of levels.fyi
    01:38 - 02:28 Searching using ILIKE
    02:28 - 02:40 Optimizing using Indexing
    02:40 - 03:18 Optimizing using Materialized views
    03:18 - 04:16 Handling stale data with materialized views
    04:16 - 04:49 Problems with ILIKE matching
    04:49 - 06:07 to_tsvector in postgres
    06:07 - 07:07 to_tsquery in postgres
    07:08 - 07:54 to_tsrank in postgres and using it.
    07:54 - 09:33 Inverted Indexes
    09:33 - 10:15 Trigram Inverted index
    10:15 - 11:34 More changes by levels.fyi
    11:34 - 11:53 Outro
    Full blog link: www.levels.fyi/blog/scalable-...
    #systemdesign #postgresql #database

Комментарии • 24

  • @abhijitsethi135
    @abhijitsethi135 3 месяца назад +2

    Great Video! Really well put together. Thanks for linking the blog in the desc

  • @Sandeep-zd6dq
    @Sandeep-zd6dq 3 месяца назад +3

    Nice video, It’s nice to see that we can built an efficient search engine using our traditional data sources 🙌

    • @core_dump
      @core_dump  3 месяца назад +1

      Postgres is evergreen

  • @JenilCalcuttawala
    @JenilCalcuttawala 3 месяца назад +1

    wow. great content! definitely need more explainer videos from you on those indexes.

    • @core_dump
      @core_dump  3 месяца назад +1

      Thanks! Absolutely will make more content around indexes, it will take some time though, I want to explain more kinds of indexes with some code.

  • @premdasv8
    @premdasv8 3 месяца назад +1

    This was really informative, Thanks you.

  • @PavanKumar-zk1ob
    @PavanKumar-zk1ob 4 месяца назад +1

    This is a great video , thanks for the content

  • @adamrizk6735
    @adamrizk6735 3 месяца назад +2

    Awesome presentation you deserve more followers

    • @core_dump
      @core_dump  3 месяца назад

      I appreciate that! Do share the videos!

  • @priyanshuindra4648
    @priyanshuindra4648 4 месяца назад +2

    Very nice video... Very Informative

  • @thinker21
    @thinker21 4 месяца назад +2

    great video, thanks!

    • @core_dump
      @core_dump  4 месяца назад

      Glad you liked it!

  • @lehoangngo8201
    @lehoangngo8201 8 дней назад

    In 2:21, isn't "jp%" is try to match c.name with prefix "jp" ?

  • @arogyabichpuria3262
    @arogyabichpuria3262 3 месяца назад +1

    super good vid :)

    • @core_dump
      @core_dump  3 месяца назад

      Glad you enjoyed it

  • @shibasispatel6624
    @shibasispatel6624 3 месяца назад

    my TIL today. Very interesting video bro.

    • @core_dump
      @core_dump  3 месяца назад

      Hope you enjoyed it!

  • @user-dc9zo7ek5j
    @user-dc9zo7ek5j 4 месяца назад +1

    Interesting, a while ago I have made a boolean search (something and something 2 or other thing) and it was pretty primitive, just a lot of joins and subqueries, but hey, it works... :D

    • @core_dump
      @core_dump  4 месяца назад +1

      If it works, its enough

  • @shadowfire779
    @shadowfire779 3 месяца назад +1

    u the goat

  • @Ashish_singh_dev
    @Ashish_singh_dev 3 месяца назад

    Talk is cheap show me the code

    • @core_dump
      @core_dump  3 месяца назад +1

      thought to write up some sample code ... but I was too lazy :(