<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Search on Percona Community</title><link>https://percona.community/tags/search/</link><description>Recent content in Search on Percona Community</description><generator>Hugo</generator><language>en-us</language><copyright>© Percona Community. MySQL, InnoDB, MariaDB and MongoDB are trademarks of their respective owners.</copyright><lastBuildDate>Sun, 31 May 2026 11:00:00 +0000</lastBuildDate><atom:link href="https://percona.community/tags/search/index.xml" rel="self" type="application/rss+xml"/><item><title>Building Smart Semantic Search using PostgreSQL and pgvector. Case Study - Part 2 - Postgres Layer</title><link>https://percona.community/blog/2026/05/31/semantic-search-on-postgresql-part-2/</link><pubDate>Sun, 31 May 2026 11:00:00 +0000</pubDate><guid>https://percona.community/blog/2026/05/31/semantic-search-on-postgresql-part-2/</guid><description>&lt;p>I’ll explain how I built the &lt;strong>Postgres layer&lt;/strong> for semantic vector search on the Percona Community website: pgvector, chunks, two table modifications, the database schema, how the indexer populates Postgres, and &lt;strong>what the SELECT statement looks like during a search&lt;/strong>.&lt;/p>
&lt;blockquote>
&lt;p>&lt;a href="https://percona.community/blog/2026/05/29/semantic-search-on-postgresql-part-1/">Part 1&lt;/a>: why semantic search, what’s already working on the site, the widget, and an overview of the stack.&lt;/p>&lt;/blockquote>
&lt;p>



&lt;figure>
 
 
 &lt;img sizes="100vw" srcset="https://percona.community/blog/2026/05/search-part-2-postgres-website-search_hu_95dee6fd64dddcf9.png 480w, https://percona.community/blog/2026/05/search-part-2-postgres-website-search_hu_4433d9913f547138.png 768w, https://percona.community/blog/2026/05/search-part-2-postgres-website-search_hu_46bc819bedb76e43.png 1400w" 
 src="https://percona.community/blog/2026/05/search-part-2-postgres-website-search.png" alt="Percona.community website search" />&lt;/figure>&lt;/p>
&lt;h2 id="architecture">Architecture&lt;/h2>
&lt;p>Search runs separately from the website at &lt;strong>search.percona.community&lt;/strong>: FastAPI, a background indexer, and PostgreSQL with pgvector are all in a single Docker Compose file. &lt;a href="https://percona.community" target="_blank" rel="noopener noreferrer">percona.community&lt;/a> remains static on Hugo and GitHub Pages, it doesn’t write directly to the database.&lt;/p></description></item><item><title>Building Smart Semantic Search using PostgreSQL and pgvector. Case Study - Part 1 - Introduction</title><link>https://percona.community/blog/2026/05/29/semantic-search-on-postgresql-part-1/</link><pubDate>Fri, 29 May 2026 11:00:00 +0000</pubDate><guid>https://percona.community/blog/2026/05/29/semantic-search-on-postgresql-part-1/</guid><description>&lt;p>Type &amp;ldquo;zero downtime database migration&amp;rdquo; into the site&amp;rsquo;s search bar and you&amp;rsquo;ll get articles and talks about database migration with minimal downtime, even if those words aren&amp;rsquo;t in the titles or content. This is &lt;strong>semantic search&lt;/strong> on &lt;strong>PostgreSQL&lt;/strong> and &lt;strong>&lt;a href="https://github.com/pgvector/pgvector" target="_blank" rel="noopener noreferrer">pgvector&lt;/a>&lt;/strong>, without paid embedding APIs or a separate vector database. In this series I&amp;rsquo;ll cover how it works and why I chose this stack.&lt;/p>
&lt;p>I&amp;rsquo;ll walk through how and why I built the search for our community site: blog, events, talks, and profiles. The post should help if you want to repeat the approach or need a practical case study on simple components. If you&amp;rsquo;ve done something similar, I&amp;rsquo;d like to hear your feedback.&lt;/p></description></item></channel></rss>