<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Luke Thompson on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/luke-thompson/</link><description>Articles written by Luke Thompson on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 28 May 2026 21:02:49 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/luke-thompson/index.xml" rel="self" type="application/rss+xml"/><item><title>Exploring MongoT</title><link>https://foojayio.github.io/website/today/exploring-mongot-atlas-search/</link><pubDate>Thu, 28 May 2026 21:02:49 +0000</pubDate><guid>https://foojayio.github.io/website/today/exploring-mongot-atlas-search/</guid><description>&lt;p&gt;Let&amp;rsquo;s explore this fascinating and awesome Java project from MongoDB - MongoT!&lt;/p&gt;
&lt;p&gt;You can check out the source code here:&lt;/p&gt;
&lt;pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""&gt;git clone https://github.com/mongodb/mongot&lt;/pre&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/exploring-mongot-atlas-search/Screenshot-2026-05-08-at-3.17.36-PM-1024x548.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;MongoT is a wrapper around the amazing Java search engine: &lt;a href="https://lucene.apache.org/" target="_blank" rel="noopener noreferrer"&gt;Lucene&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;Lucene is a powerful search toolkit built around an inverted token index structure that enables advanced text search capabilities, including ranked results, autocomplete, synonyms, fuzzy matching, highlighting, and faceting &amp;mdash; all with high performance regardless of dataset size. Unlike MongoDB&amp;rsquo;s native query engine, it can efficiently search across multiple indexes simultaneously by intersecting lists of ordinal document IDs in parallel, using optimization techniques like skip-lists, ordinal compression, and document frequency ordering. It also supports indexing of various field types (integers, dates, keywords, etc.) and has expanded into vector search, enabling semantic similarity search by meaning rather than exact text matching.&lt;/p&gt;</description></item><item><title>Java Faceted Full-Text Search API Using MongoDB Atlas Search</title><link>https://foojayio.github.io/website/today/java-faceted-full-text-search-api-using-mongodb-atlas-search/</link><pubDate>Thu, 02 Apr 2026 16:27:30 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-faceted-full-text-search-api-using-mongodb-atlas-search/</guid><description>&lt;p&gt;This is going to be a fun, practical tutorial demonstrating how to build a Java faceted full-text search API (like the ones powering sites like Amazon)!&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll use an interesting dataset which showcases how you can effectively pair machine learning/AI-generated data with more traditional search to produce fast, cheap, repeatable, and intuitive search engines.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;: If you (like me!) are less about words and more about code, you can jump straight in. Check it out and run it locally like this:&lt;/p&gt;</description></item><item><title>MongoDB Schemas in Java</title><link>https://foojayio.github.io/website/today/mongodb-schemas-in-java/</link><pubDate>Thu, 11 Sep 2025 13:15:02 +0000</pubDate><guid>https://foojayio.github.io/website/today/mongodb-schemas-in-java/</guid><description>&lt;p&gt;If (like me!) you prefer to read code rather than a long and boring article, jump straight to the example! TLDR; here&amp;rsquo;s the &lt;a href="https://github.com/luketn/mongodb-schemas-in-java" target="_blank" rel="noopener noreferrer"&gt;code&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;You can clone and run the tests like this:&lt;/p&gt;
&lt;pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""&gt;git clone https://github.com/luketn/mongodb-schemas-in-java&amp;nbsp;
cd mongodb-schemas-in-java&amp;nbsp;
mvn test&lt;/pre&gt;
&lt;p&gt;And if you want to play with the example API visually (like I do!) and you have a local Mongo or an Atlas Cluster with the &lt;a href="https://www.mongodb.com/docs/guides/atlas/sample-data/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=mongodb-schemas-java&amp;amp;utm_term=megan.grant" target="_blank" rel="noopener noreferrer"&gt;Weather Sample&lt;/a&gt;
 data, run:&lt;/p&gt;</description></item><item><title>Testing MongoDB Atlas Search Java Apps Using TestContainers</title><link>https://foojayio.github.io/website/today/testing-mongodb-atlas-search-java-apps-using-testcontainers/</link><pubDate>Thu, 29 May 2025 18:07:27 +0000</pubDate><guid>https://foojayio.github.io/website/today/testing-mongodb-atlas-search-java-apps-using-testcontainers/</guid><description>&lt;p&gt;This will be an exploration of testing MongoDB Atlas Search solutions written in Java using TestContainers and JUnit5. We&amp;rsquo;ll start simple and build up to more advanced uses which load seed data and provide an environment for consistent and easy to maintain tests.&lt;/p&gt;
&lt;p&gt;TLDR; if (like me!) you want to get straight to the code rather than reading lots of tedious words:&lt;/p&gt;
&lt;pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group=""&gt;git clone https://github.com/luketn/mongodb-atlas-local-testcontainers.git
cd mongodb-atlas-local-testcontainers
mvn test&lt;/pre&gt;
&lt;h2 id="h2-0-what-is-mongodb-atlas-search-anyway"&gt;What is MongoDB Atlas Search, anyway?&lt;/h2&gt;
&lt;p&gt;MongoDB Atlas Search is an extension to the built-in indexing capabilities that are part of MongoDB itself, using the awesome open source indexing and query library &lt;a href="https://lucene.apache.org/" target="_blank" rel="noopener noreferrer"&gt;Lucene&lt;/a&gt;
. MongoDB has built a wrapper around Lucene called &lt;a href="https://www.mongodb.com/docs/atlas/atlas-search/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=Testing&amp;#43;MongoDB&amp;#43;Atlas&amp;#43;Search&amp;#43;Java&amp;#43;Apps&amp;#43;Using&amp;#43;TestContainers&amp;amp;utm_term=megan.grant#fts-architecture/" target="_blank" rel="noopener noreferrer"&gt;mongot&lt;/a&gt;
.&lt;/p&gt;</description></item></channel></rss>