We build powerful

Search solutions

Our Elasticsearch and Solr experts provide professional consulting and tailored application development.

Search services»

We wrote the book on

Search relevance

What good is search if you can never find anything? We're pioneers in smarter search that "gets" users.

Learn about relevance »

We are passionate

Industry leaders

We've spoken at conferences from San Diego, to NYC, to Dublin. Our blog is read by industry experts.

Blog  |  Events  |  Podcast

We're the relevance experts

Good search understands a user's intent, not just what they type.

We wrote Relevant Search, the definitive guide to building smarter Elasticsearch and Solr applications.

One of the best and most engaging technical books I've ever read. — Trey Grainger, Lucidworks
Will help you solve real-world search relevance problems for Lucene-based search engines — Dimitrios Kouizes-Loukas, Bloomberg

Read the book »
Get help from the experts »

Products and services for smarter search

We built Quepid, a search testing platform that takes the guesswork out of search relevancy.

Do NOT attempt a search project without it. — John Bickerstaff

Try it Now »

Want to just understand why results are showing up in your search?

Use splainer for free »

Selected Clients

  • Cisco
  • RKG
  • O'Reilly


  • Elastic
  • Datastax

Our publications

Relevant Search »
Learn the secrets of building intuitive, targeted search.

Elasticsearch course »
Dive into Elasticsearch and AngularJS in this video course.

Solr Enterprise Server »
We cowrote the first book on Solr. Now in its third edition.

From the blog

BM25F in Lucene with BlendedTermQuery Doug turnbull on October 19, 2016

As part of the London hack days Diego Ceccarelli started a BM25F implementation. I began to continue it at Lucene Revolution's Lucene hackathon. I realized though that when you break down the problem, BM25F can be implemented using existing Lucene bits, including the existing BM25Similarity and the BlendedTermQuery.

Building Recommendation Systems with Elastic Graph Doug turnbull on October 5, 2016

Graph + Search means easy to implement recommendations. Check out what we've done with the Elasticsearch graph plugin.

Expanding data from a frequency table into case form in R and STATA Samia ansari on September 17, 2016

Sometimes you need to convert from case tables to frequency tables. Here is how I did it with R.

Talk directly with Eric Pugh, our founder & CEO
(434) 466-1467 | eric@o19s.com