{"id":4425,"date":"2016-06-13T02:16:32","date_gmt":"2016-06-13T02:16:32","guid":{"rendered":"http:\/\/www.garysieling.com\/blog\/?p=4425"},"modified":"2016-06-13T02:16:32","modified_gmt":"2016-06-13T02:16:32","slug":"additive-boost-solr","status":"publish","type":"post","link":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/","title":{"rendered":"Additive Boost in Solr"},"content":{"rendered":"<p>If you use the dismax or edismax parser, there are three URL options that let you change the ranking: bf, bq, and boost. Boost seems to be the most flexible &#8211; in addition to the URL argument, there are ways to apply the boost on an entire document or field at index or query time.<\/p>\n<p>Boost is a multiplication operation, as it is based on vector manipulation. Additive boost would seem to have less impact over the ordering of the results. E.g. adding 1, 2, 3, 4, and 5 to a set of scores will increase them, as would multiplying by 1, 2, 3, 4, and 5. For small scores the addition would have more weight than the score, and for large multiplications, this can show when a document is a strong winner for a query. Addition is particularly useful for use when using random numbers (if you choose numbers from 0 to 1, 0.1 + 0.1 is clearly quite different from 0.1 x 0.1).<\/p>\n<p>You make additive changes to scores in Solr using the &#8220;bf&#8221; and &#8220;bq&#8221; query parameters, assuming you&#8217;re using dismax\/edismax. The &#8220;bf&#8221; option allows you to add the result of a function call or field, and the &#8220;bq&#8221; allows you to add score results from a second query. So, if you were storing a random number you want to add to the score, you&#8217;d use bf, but if you want to boost by how relevant the query is to a second query, you could use bq, e.g. to rank exact matches somewhat higher.<\/p>\n<p>Notably, you can also use function calls in these arguments, so you can do things like add two fields together (or other mathematical operations), which allows you do all kinds of great stuff:<\/p>\n<pre>\nbf:add(talk_day_i,talk_year_i)\n<\/pre>\n<p>If you do this, you should take a look at the debug output, which shows explain plans &#8211; I think something complex is likely to slow the query engine down, and the score outputs are not entirely what you&#8217;d expect, as they get normalized before you see them.<\/p>\n<p>For example:<\/p>\n<pre>\n26.16295 = sum of:\n  0.70710677 = *:*, product of:\n    1.0 = boost\n    0.70710677 = queryNorm\n  25.455843 = FunctionQuery(sum(int(talk_day_i),const(5))), product of:\n    36.0 = sum(int(talk_day_i)=31,const(5))\n    0.70710677 = boost\n    1.0 = queryNorm\n\",\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>How to do make additive changes to &#8220;score&#8221; in Solr<\/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":[11],"tags":[517],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"How to do make additive changes to &quot;score&quot; in Solr\" \/>\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\/additive-boost-solr\/\" \/>\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=\"Additive Boost in Solr - Gary Sieling\" \/>\n\t\t<meta property=\"og:description\" content=\"How to do make additive changes to &quot;score&quot; in Solr\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2016-06-13T02:16:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2016-06-13T02:16:32+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Additive Boost in Solr - Gary Sieling\" \/>\n\t\t<meta name=\"twitter:description\" content=\"How to do make additive changes to &quot;score&quot; in Solr\" \/>\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\\\/additive-boost-solr\\\/#blogposting\",\"name\":\"Additive Boost in Solr - Gary Sieling\",\"headline\":\"Additive Boost in Solr\",\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#organization\"},\"datePublished\":\"2016-06-13T02:16:32+00:00\",\"dateModified\":\"2016-06-13T02:16:32+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/additive-boost-solr\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/additive-boost-solr\\\/#webpage\"},\"articleSection\":\"Full Text Search, solr\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/additive-boost-solr\\\/#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\\\/full-text-search\\\/#listItem\",\"name\":\"Full Text Search\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/full-text-search\\\/#listItem\",\"position\":2,\"name\":\"Full Text Search\",\"item\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/full-text-search\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/additive-boost-solr\\\/#listItem\",\"name\":\"Additive Boost in Solr\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/additive-boost-solr\\\/#listItem\",\"position\":3,\"name\":\"Additive Boost in Solr\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/category\\\/full-text-search\\\/#listItem\",\"name\":\"Full Text Search\"}}]},{\"@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\\\/additive-boost-solr\\\/#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\\\/additive-boost-solr\\\/#webpage\",\"url\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/additive-boost-solr\\\/\",\"name\":\"Additive Boost in Solr - Gary Sieling\",\"description\":\"How to do make additive changes to \\\"score\\\" in Solr\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/additive-boost-solr\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.garysieling.com\\\/blog\\\/author\\\/gary\\\/#author\"},\"datePublished\":\"2016-06-13T02:16:32+00:00\",\"dateModified\":\"2016-06-13T02:16:32+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":"Additive Boost in Solr - Gary Sieling","description":"How to do make additive changes to \"score\" in Solr","canonical_url":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/#blogposting","name":"Additive Boost in Solr - Gary Sieling","headline":"Additive Boost in Solr","author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"publisher":{"@id":"https:\/\/www.garysieling.com\/blog\/#organization"},"datePublished":"2016-06-13T02:16:32+00:00","dateModified":"2016-06-13T02:16:32+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/#webpage"},"isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/#webpage"},"articleSection":"Full Text Search, solr"},{"@type":"BreadcrumbList","@id":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/#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\/full-text-search\/#listItem","name":"Full Text Search"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/full-text-search\/#listItem","position":2,"name":"Full Text Search","item":"https:\/\/www.garysieling.com\/blog\/category\/full-text-search\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/#listItem","name":"Additive Boost in Solr"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/#listItem","position":3,"name":"Additive Boost in Solr","previousItem":{"@type":"ListItem","@id":"https:\/\/www.garysieling.com\/blog\/category\/full-text-search\/#listItem","name":"Full Text Search"}}]},{"@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\/additive-boost-solr\/#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\/additive-boost-solr\/#webpage","url":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/","name":"Additive Boost in Solr - Gary Sieling","description":"How to do make additive changes to \"score\" in Solr","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.garysieling.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/#breadcrumblist"},"author":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"creator":{"@id":"https:\/\/www.garysieling.com\/blog\/author\/gary\/#author"},"datePublished":"2016-06-13T02:16:32+00:00","dateModified":"2016-06-13T02:16:32+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":"Additive Boost in Solr - Gary Sieling","og:description":"How to do make additive changes to &quot;score&quot; in Solr","og:url":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/","article:published_time":"2016-06-13T02:16:32+00:00","article:modified_time":"2016-06-13T02:16:32+00:00","twitter:card":"summary_large_image","twitter:title":"Additive Boost in Solr - Gary Sieling","twitter:description":"How to do make additive changes to &quot;score&quot; in Solr"},"aioseo_meta_data":{"post_id":"4425","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 16:59:07","updated":"2026-07-06 02:03:45","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\/full-text-search\/\" title=\"Full Text Search\">Full Text Search<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAdditive Boost in Solr\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.garysieling.com\/blog"},{"label":"Full Text Search","link":"https:\/\/www.garysieling.com\/blog\/category\/full-text-search\/"},{"label":"Additive Boost in Solr","link":"https:\/\/www.garysieling.com\/blog\/additive-boost-solr\/"}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/4425"}],"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=4425"}],"version-history":[{"count":0,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/posts\/4425\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/media?parent=4425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/categories?post=4425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.garysieling.com\/blog\/wp-json\/wp\/v2\/tags?post=4425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}