{"id":4823,"date":"2016-08-22T00:49:06","date_gmt":"2016-08-22T00:49:06","guid":{"rendered":"http:\/\/www.garysieling.com\/blog\/?p=4823"},"modified":"2016-08-22T00:49:06","modified_gmt":"2016-08-22T00:49:06","slug":"book-review-relevant-search","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/","title":{"rendered":"Book Review: Relevant Search"},"content":{"rendered":"<p>I recently read <a href=\"http:\/\/amzn.to\/2baz9v4\">Relevant Search<\/a>, which contains the authors&#8217; real-world experience on tuning search engines (ElasticSearch \/ Solr) for quality results. This book is designed for people looking to understand how search engines work internally so they can provide business value &#8211; more than just learning how to tinker with the settings these tools offer.  hile the book focuses primarily on Elastic search, the authors clearly understand the differences between Solr and ElasticSearch (e.g. term vs field centric search), apparently through doing consulting work.<\/p>\n<p>The book explains the basics of how full text search works, for those who may need a refresher, and quickly becomes insightful. For instance, going into this I had a simplistic understanding of TF\/IDF, and they discuss areas where it performs poorly, and what functionality lucene-based products get around these limitations. Both tools contain an &#8220;explain&#8221; feature that is supposed to tell you how they chose the ranking, but it takes some effort to learn, and these authors clearly spent many hours gaining an understanding of how this works.<\/p>\n<p>The book offers a bunch of neat motivating examples &#8211; how to use full text engines for map search, melody search, and how to design year range search. They don&#8217;t discuss implementing security, but if you can work out how to build a search engine that handles geography, this should be easy by comparison. They also cover how to implement specialty indexes for common features like type-ehead suggestion and spell check. If nothing else, I thought this chapter was an excellent resource for itemizing all the typical search UI features a business user might want. <\/p>\n<p>Beyond technical problems, <a href=\"http:\/\/amzn.to\/2baz9v4\">Relevant Search<\/a> discusses the harder problems of search &#8211; how to work with other key teams in a business environment. To start out, they recommend creating &#8220;user personas&#8221;, to help envision how different people will navigate through a product. This is clearly a big deal with search applications, as many are aimed at either very sophisticated or unsophisticated uses, and tend not to scale well between these. There is a heavy focus on building very complex queries to solve different use cases &#8211; this was a surprise to me, as I assumed that &#8220;relevance&#8221; work just involved getting more data into the system.<\/p>\n<p>Testing is also clearly very labor intensive &#8211; the authors recommend some strategies you can use, including an app called Quepid<sup><a href=\"#footnote_1_4823\" id=\"identifier_1_4823\" class=\"footnote-link footnote-identifier-link\" title=\"http:\/\/quepid.com\/\">1<\/a><\/sup> to help automate this. One of the challenges to tinkering with search results is quantifying how much effect a change has (especially in a product committee meeting). This obviously can&#8217;t be tested in the typical test-driven development style, so the Quepid product apparently works by grading the results. <\/p>\n<p>Most custom search engines don&#8217;t have massive usage, but if you do get to that stage, they briefly discuss interesting options for going further. There is work ongoing to make Solr learn as it goes<sup><a href=\"#footnote_2_4823\" id=\"identifier_2_4823\" class=\"footnote-link footnote-identifier-link\" title=\"https:\/\/issues.apache.org\/jira\/browse\/SOLR-8542\">2<\/a><\/sup>. <\/p>\n<p>The authors propose a great concept &#8211; replacing our concept of &#8220;search&#8221; with &#8220;recommendation&#8221;, and it seems there is a second Manning book in progress to follow this idea further &#8211; <a href=\"https:\/\/www.manning.com\/books\/practical-recommender-systems\">Practical Recommender Systems<\/a>.<\/p>\n<p><iframe style=\"width:120px;height:240px;\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" frameborder=\"0\" src=\"\/\/ws-na.amazon-adsystem.com\/widgets\/q?ServiceVersion=20070822&#038;OneJS=1&#038;Operation=GetAdHtml&#038;MarketPlace=US&#038;source=ss&#038;ref=as_ss_li_til&#038;ad_type=product_link&#038;tracking_id=thesecrelifeo-20&#038;marketplace=amazon&#038;region=US&#038;placement=161729277X&#038;asins=161729277X&#038;linkId=27e51f8b4165de9bff18db8eb99099fd&#038;show_border=true&#038;link_opens_in_new_window=true\"><\/iframe><\/p>\n<ol class=\"footnotes\"><li id=\"footnote_1_4823\" class=\"footnote\">http:\/\/quepid.com\/<span class=\"footnote-back-link-wrapper\"> [<a href=\"#identifier_1_4823\" class=\"footnote-link footnote-back-link\">&#8617;<\/a>]<\/span><\/li><li id=\"footnote_2_4823\" class=\"footnote\">https:\/\/issues.apache.org\/jira\/browse\/SOLR-8542<span class=\"footnote-back-link-wrapper\"> [<a href=\"#identifier_2_4823\" class=\"footnote-link footnote-back-link\">&#8617;<\/a>]<\/span><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>Review of a book on tuning Solr \/ Elastic Search results<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[2],"tags":[185,517],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Review of a book on tuning Solr \/ Elastic Search results\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"gary\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Gary Sieling - Software Engineer\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Book Review: Relevant Search - Gary Sieling\" \/>\n\t\t<meta property=\"og:description\" content=\"Review of a book on tuning Solr \/ Elastic Search results\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-08-22T00:49:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2016-08-22T00:49:06+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Book Review: Relevant Search - Gary Sieling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Review of a book on tuning Solr \/ Elastic Search results\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/#blogposting\",\"name\":\"Book Review: Relevant Search - Gary Sieling\",\"headline\":\"Book Review: Relevant Search\",\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"},\"datePublished\":\"2016-08-22T00:49:06+00:00\",\"dateModified\":\"2016-08-22T00:49:06+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/#webpage\"},\"articleSection\":\"Book Reviews, elasticsearch, solr\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/book-reviews\\\/#listItem\",\"name\":\"Book Reviews\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/book-reviews\\\/#listItem\",\"position\":2,\"name\":\"Book Reviews\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/book-reviews\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/#listItem\",\"name\":\"Book Review: Relevant Search\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/#listItem\",\"position\":3,\"name\":\"Book Review: Relevant Search\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/book-reviews\\\/#listItem\",\"name\":\"Book Reviews\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/\",\"name\":\"gary\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"gary\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/#webpage\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/\",\"name\":\"Book Review: Relevant Search - Gary Sieling\",\"description\":\"Review of a book on tuning Solr \\\/ Elastic Search results\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/book-review-relevant-search\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"datePublished\":\"2016-08-22T00:49:06+00:00\",\"dateModified\":\"2016-08-22T00:49:06+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/\",\"name\":\"Gary Sieling\",\"description\":\"Software Engineer\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Book Review: Relevant Search - Gary Sieling","description":"Review of a book on tuning Solr \/ Elastic Search results","canonical_url":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/#blogposting","name":"Book Review: Relevant Search - Gary Sieling","headline":"Book Review: Relevant Search","author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"},"datePublished":"2016-08-22T00:49:06+00:00","dateModified":"2016-08-22T00:49:06+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/#webpage"},"isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/#webpage"},"articleSection":"Book Reviews, elasticsearch, solr"},{"@type":"BreadcrumbList","@id":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.garysieling.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/book-reviews\/#listItem","name":"Book Reviews"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/book-reviews\/#listItem","position":2,"name":"Book Reviews","item":"https:\/\/www.garysieling.com\/blog\/category\/book-reviews\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/#listItem","name":"Book Review: Relevant Search"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/#listItem","position":3,"name":"Book Review: Relevant Search","previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/book-reviews\/#listItem","name":"Book Reviews"}}]},{"@type":"Organization","@id":"https:\/\/www.garysieling.com\/blog\/#organization","name":"Gary Sieling","description":"Software Engineer","url":"https:\/\/www.garysieling.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author","url":"https:\/\/www.garysieling.com\/blog\/author\/gary\/","name":"gary","image":{"@type":"ImageObject","@id":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0be925276d848ffe98a6a9dc8cf33e67?s=96&d=identicon&r=g","width":96,"height":96,"caption":"gary"}},{"@type":"WebPage","@id":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/#webpage","url":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/","name":"Book Review: Relevant Search - Gary Sieling","description":"Review of a book on tuning Solr \/ Elastic Search results","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/#breadcrumblist"},"author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"creator":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"datePublished":"2016-08-22T00:49:06+00:00","dateModified":"2016-08-22T00:49:06+00:00"},{"@type":"WebSite","@id":"https:\/\/www.garysieling.com\/blog\/#website","url":"https:\/\/www.garysieling.com\/blog\/","name":"Gary Sieling","description":"Software Engineer","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Gary Sieling - Software Engineer","og:type":"article","og:title":"Book Review: Relevant Search - Gary Sieling","og:description":"Review of a book on tuning Solr \/ Elastic Search results","og:url":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/","article:published_time":"2016-08-22T00:49:06+00:00","article:modified_time":"2016-08-22T00:49:06+00:00","twitter:card":"summary_large_image","twitter:title":"Book Review: Relevant Search - Gary Sieling","twitter:description":"Review of a book on tuning Solr \/ Elastic Search results"},"aioseo_meta_data":{"post_id":"4823","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2023-02-04 17:04:28","updated":"2026-07-06 02:11:54","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.garysieling.com\/blog\/category\/book-reviews\/\" title=\"Book Reviews\">Book Reviews<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tBook Review: Relevant Search\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.garysieling.com\/blog"},{"label":"Book Reviews","link":"https:\/\/www.garysieling.com\/blog\/category\/book-reviews\/"},{"label":"Book Review: Relevant Search","link":"https:\/\/www.garysieling.com\/blog\/book-review-relevant-search\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/4823"}],"collection":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/comments?post=4823"}],"version-history":[{"count":0,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/4823\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=4823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=4823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=4823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}