<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>BigQuery on Build in Public</title><link>https://build.ralphmayr.com/tags/bigquery/</link><description>Recent content in BigQuery on Build in Public</description><generator>Hugo</generator><language>en-us</language><copyright>©️ Ralph Mayr 2026</copyright><lastBuildDate>Thu, 02 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://build.ralphmayr.com/tags/bigquery/index.xml" rel="self" type="application/rss+xml"/><item><title>BigQuery’s SEARCH function only works with ASCII characters</title><link>https://build.ralphmayr.com/posts/94-bigquerys-search-function-only-works-with-ascii-characters/</link><pubDate>Thu, 02 Oct 2025 00:00:00 +0000</pubDate><guid>https://build.ralphmayr.com/posts/94-bigquerys-search-function-only-works-with-ascii-characters/</guid><description>&lt;p&gt;Admittedly, it may not have been my brightest idea to use &lt;strong&gt;BigQuery&lt;/strong&gt; as the search backend for &lt;strong&gt;poketto.me&lt;/strong&gt;. But since Firebase doesn&amp;rsquo;t have built-in full-text search, I would have needed to add another tool to my stack anyway. I figured BigQuery would be easier than managing something external like &lt;strong&gt;Apache Lucene&lt;/strong&gt; or &lt;strong&gt;Elasticsearch&lt;/strong&gt;. Plus, BigQuery has a built-in &lt;strong&gt;SEARCH(...)&lt;/strong&gt; function, so why not give it a try?&lt;/p&gt;
&lt;p&gt;As it turns out, &lt;strong&gt;SEARCH(...)&lt;/strong&gt; is really more of a token-based text analyzer than a true search function:&lt;br&gt;
1️⃣ It splits both the search term and the text into tokens (words).&lt;br&gt;
2️⃣ It matches &lt;em&gt;full&lt;/em&gt; tokens only.&lt;br&gt;
3️⃣ It returns just &lt;strong&gt;TRUE&lt;/strong&gt; or &lt;strong&gt;FALSE&lt;/strong&gt;&amp;mdash;no offsets, no match lengths.&lt;br&gt;
🤯 And worst of all: &lt;strong&gt;It only works with ASCII.&lt;/strong&gt; Yes. Like it&amp;rsquo;s 1979.&lt;/p&gt;</description></item></channel></rss>