<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Erik Hatcher on foojay.io - Friends Of OpenJDK</title><link>https://foojay.io/today/author/erik-hatcher/</link><description>Articles written by Erik Hatcher on foojay.io - Friends Of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 02 Sep 2026 10:00:00 +0000</lastBuildDate><atom:link href="https://foojay.io/today/author/erik-hatcher/index.xml" rel="self" type="application/rss+xml"/><item><title>MongoDB Search Server, improved!</title><link>https://foojay.io/today/mongodb-search-server-improved/</link><pubDate>Wed, 02 Sep 2026 10:00:00 +0000</pubDate><guid>https://foojay.io/today/mongodb-search-server-improved/</guid><description>&lt;p&gt;In this article, we&amp;rsquo;re going to revisit and improve the MongoDB Search Server originally described in the article &lt;a href="https://foojay.io/today/how-to-build-a-search-service-in-java-with-mongodb/"&gt;How to Build a Search Service in Java with MongoDB&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;First, let&amp;rsquo;s remind ourselves why an intermediate search service deserves our attention and effort: Search powers the most important part of your application, getting users to the content they need, fast. The search bar often serves as the main entry point to your services. Search results can be returned with all the information needed to present to the user without querying the source database at all. With search serving this important, heavy load on its own, separating the search service into an independently scalable tier allows us to control, scale, and version the search server as needed. Having a gateway from the application to MongoDB Search also allows us to simplify the interface by passing only the key parameters, without &lt;code&gt;getting entangled&lt;/code&gt; in the specifics of the aggregation pipeline syntax.&lt;/p&gt;</description></item><item><title>MongoDB Search Score Breakdown</title><link>https://foojay.io/today/mongodb-search-score-breakdown/</link><pubDate>Tue, 31 Mar 2026 15:05:08 +0000</pubDate><guid>https://foojay.io/today/mongodb-search-score-breakdown/</guid><description>&lt;p&gt;Full-text search powers all of our digital lives — googling for this and that; asking Siri where to find a tasty, nearby dinner; shopping at Amazon; and so on. We receive relevant results, often even in spite of our typos, voice transcription mistakes, or vaguely formed queries. We have grown accustomed to expecting the best results for our searching intentions, right there, at the top.&lt;/p&gt;&#10;&lt;p&gt;But now it&amp;rsquo;s your turn, dear developer, to build the same satisfying user experience into your Atlas-powered application.&lt;/p&gt;</description></item><item><title>How to Build a Search Service in Java with MongoDB</title><link>https://foojay.io/today/how-to-build-a-search-service-in-java-with-mongodb/</link><pubDate>Fri, 27 Feb 2026 18:28:09 +0000</pubDate><guid>https://foojay.io/today/how-to-build-a-search-service-in-java-with-mongodb/</guid><description>&lt;p&gt;We need to code our way from the search box to our search index. Performing a search and rendering the results in a presentable fashion, itself, is not a tricky endeavor: Send the user&amp;rsquo;s query to the search server, and translate the response data into some user interface technology. However, there are some important issues that need to be addressed, such as security, error handling, performance, and other concerns that deserve isolation and control.&lt;/p&gt;</description></item><item><title>Atlas Searching with the Java Driver</title><link>https://foojay.io/today/atlas-searching-with-the-java-driver/</link><pubDate>Tue, 02 Dec 2025 17:28:43 +0000</pubDate><guid>https://foojay.io/today/atlas-searching-with-the-java-driver/</guid><description>&lt;p&gt;Dear fellow developer, welcome!&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://www.mongodb.com/atlas/search/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=atlas-search-foojay&amp;amp;utm_term=tony.kim" target="_blank" rel="noopener noreferrer"&gt;Atlas Search&lt;/a&gt; is a full-text search engine embedded in MongoDB Atlas that gives you a seamless, scalable experience for building relevance-based app features. Built on Apache Lucene, Atlas Search eliminates the need to run a separate search system alongside your database. The gateway to Atlas Search is the $search aggregation pipeline stage.&lt;/p&gt;&#10;&lt;p&gt;The &lt;a href="https://www.mongodb.com/docs/atlas/atlas-search/query-syntax/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=atlas-search-foojay&amp;amp;utm_term=tony.kim#std-label-search-agg-pipeline" target="_blank" rel="noopener noreferrer"&gt;$search&lt;/a&gt; stage, as one of the newest members of the &lt;a href="https://www.mongodb.com/docs/manual/core/aggregation-pipeline/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=atlas-search-foojay&amp;amp;utm_term=tony.kim" target="_blank" rel="noopener noreferrer"&gt;MongoDB aggregation pipeline&lt;/a&gt; family, has gotten native, convenient support added to various language drivers. Driver support helps developers build concise and readable code. This article delves into using the Atlas Search support built into the MongoDB Java driver, where we&amp;rsquo;ll see how to use the driver, how to handle `$search` features that don&amp;rsquo;t yet have native driver convenience methods or have been released after the driver was released, and a glimpse into Atlas Search relevancy scoring. Let&amp;rsquo;s get started!&lt;/p&gt;</description></item></channel></rss>