{"id":27467,"date":"2022-11-17T20:06:37","date_gmt":"2022-11-17T15:06:37","guid":{"rendered":"https:\/\/kmwllc.com\/?p=27467"},"modified":"2025-06-02T20:19:46","modified_gmt":"2025-06-02T15:19:46","slug":"solrs-query-elevation-component-now-supports-filter-exclusions","status":"publish","type":"post","link":"https:\/\/kmwllc.com\/index.php\/2022\/11\/17\/solrs-query-elevation-component-now-supports-filter-exclusions\/","title":{"rendered":"Solr&#8217;s query elevation component now supports filter exclusions"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"27467\" class=\"elementor elementor-27467\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fd34a80 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fd34a80\" data-element_type=\"section\" data-e-type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\"><div class=\"elementor-row\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-1ac6aa6\" data-id=\"1ac6aa6\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;thegem_parallax_activate&quot;:&quot;yes&quot;,&quot;thegem_parallax_type&quot;:&quot;vertical&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6a9733a flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-post-info\" data-id=\"6a9733a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-95b1039 elementor-inline-item\" itemprop=\"datePublished\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date\">\n\t\t\t\t\t\t\t\t\t\t<time>November 17, 2022<\/time>\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-82a3d01 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\" data-id=\"82a3d01\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"styled-subtitle elementor-heading-title elementor-size-default\">New in Solr 9.2! We created a way for the Query Elevation Component to exclude filters. Read about how we did this and what you should know about this new feature.<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-156b3c4 elementor-author-box--image-valign-middle elementor-widget__width-inherit flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-author-box\" data-id=\"156b3c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"author-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-author-box\">\n\t\t\t\t\t\t\t<div  class=\"elementor-author-box__avatar\">\n\t\t\t\t\t<img src=\"https:\/\/kmwllc.com\/wp-content\/uploads\/2021\/02\/Rudi-300x288.png\" alt=\"Picture of Rudi Seitz\" loading=\"lazy\">\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t<div class=\"elementor-author-box__text\">\n\t\t\t\t\t\t\t\t\t<div >\n\t\t\t\t\t\t<h6 class=\"elementor-author-box__name\">\n\t\t\t\t\t\t\tRudi Seitz\t\t\t\t\t\t<\/h6>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-author-box__bio\">\n\t\t\t\t\t\t<p>Solr Contributor &amp; Senior Search Engineer at KMW Technologoy<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb8d6fb elementor-widget-divider--view-line flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-divider\" data-id=\"cb8d6fb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58e5af1 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\" data-id=\"58e5af1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8a7610b flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\" data-id=\"8a7610b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">The Problem<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-839e726 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor\" data-id=\"839e726\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\r\n\t\t\t\t\t\t<p>If you&#8217;ve ever needed to editorially override the top results for a Solr query, you&#8217;ve probably looked at the Query Elevation Component (QEC). Using QEC, you can indicate that certain documents should appear as top results for a given query, even if those documents would have had a lower position based on natural scoring, or would have been absent entirely.<\/p>\n<p>In Solr 9.1 and before, filters always took precedence over elevation. For example, you might have configured QEC to return the document with <code>id=1<\/code> whenever a user searched for <code>foo<\/code>. However, if the query also included an &#8220;in stock&#8221; filter, like this:<\/p>\n<pre style=\"padding-left: 40px;\">q=foo\nfq=in_stock:true<\/pre>\n<p>then&nbsp;<code>id=1<\/code>&nbsp;would only be elevated if it happened to be in stock.<\/p>\n<p>Of course, this&nbsp;<em>might<\/em> have been the behavior you wanted. But what if you needed to elevate out-of-stock items too \u2013 maybe so you could accept preorders? We had a customer who wanted to support this use case \u2013 applying an <code>fq<\/code> to non-elevated documents but bypassing the same <code>fq<\/code> for elevated documents. There wasn&#8217;t a way to do this, so we implemented the feature.<\/p>\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d7b1681 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\" data-id=\"d7b1681\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b24147 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\" data-id=\"0b24147\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">The Solution in Solr 9.2<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-24f7fee flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor\" data-id=\"24f7fee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\r\n\t\t\t\t\t\t<p>Starting in Solr 9.2, QEC supports filter exclusions. You can use the following syntax to assign tags to specific filters and to indicate that QEC should let elevated documents bypass those tagged filters.<\/p><pre style=\"padding-left: 40px;\">q=foo\nfq={!tag=t1}in_stock:true\nelevate.excludeTags=t1<\/pre><p>The example above assigns the tag <code>t1<\/code> to the &#8220;in stock&#8221; filter and excludes it for elevated documents. Note that the syntax is similar to the way you can <a href=\"https:\/\/solr.apache.org\/guide\/solr\/latest\/query-guide\/faceting.html#tagging-and-excluding-filters\">tag and exclude filters while faceting<\/a>.<\/p><p>In the rest of this post, we\u2019ll discuss the implementation details of QEC\u2019s new filter exclusion feature. To understand those details, we first need to understand QEC\u2019s basic design.<\/p>\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1f597ef flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\" data-id=\"1f597ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5500edd flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\" data-id=\"5500edd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">QEC Design Background<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-98622c6 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor\" data-id=\"98622c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\r\n\t\t\t\t\t\t<p>If you were building the Query Elevation Component from scratch, your first thought might be to use an additive approach. The component would run the user\u2019s query to get an initial result set. Then it would run a second query to retrieve the elevated documents. Finally it would merge those two results sets, placing the elevated documents on top.<\/p><p>There are a few drawbacks to this possible design. First, we\u2019d be incurring the overhead of running two queries instead of one. Second, we\u2019d have to find a way of preventing duplicates. We don\u2019t want to include any document in the result set <em>twice<\/em>, so we\u2019d have to figure out if an elevated document existed in the original result set before we could add it. If an elevated document turned out to be present already, we\u2019d need a way of moving it to the top. And third, we\u2019d need to find a way of inserting the elevated documents into facets as well as the primary result set.<\/p><p>To avoid all these complications, QEC takes a different approach:<\/p><ol><li>It broadens the user&#8217;s original query to make sure that it matches all the elevated documents. The broadened query is a Boolean OR of the original query with a disjunction across the elevated document IDs. So if the original query was <code>q=XYZ<\/code>, the new query would be something like <code>q=XYZ OR (id:1 OR id:2 OR id:3)<\/code>.<code><\/code><\/li><li>It adds a new sort criterion to the query that makes the elevated docs appear at the top of the sort order.<\/li><\/ol><p>This approach allows QEC to achieve its goals with a single query, eliminating the complex piecing-together of multiple queries. But earlier versions of QEC applied this strategy to the <code>q<\/code> parameter only, leaving all <code>fq<\/code> instances unmodified. Since <code>fq<\/code> always take precedence over <code>q<\/code> in Solr, elevated documents still had to match the filters in order to be included.<\/p>\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-544545f flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\" data-id=\"544545f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-77f926a flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\" data-id=\"77f926a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">Implementing Exclusions<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b241a2 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor\" data-id=\"2b241a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\r\n\t\t\t\t\t\t<p>To improve QEC so that elevated documents can bypass specific filters, we can reuse the same strategy that QEC applies to the primary query. Indeed, that\u2019s how our Solr 9.2 changes work. To \u201cexclude\u201d a given filter, we transform it into a Boolean OR of the original filter with a disjunction across the elevated document IDs. So a filter like\u00a0<code>fq=a:b<\/code>\u00a0would become<\/p><pre style=\"padding-left: 40px;\">fq=a:b OR (id:1 OR id:2 OR id3)<\/pre><p>where and <code>1<\/code>, <code>2<\/code>, <code>3<\/code> are the IDs of the documents that should be elevated for the incoming <code>q<\/code>. It\u2019s important to clarify we\u2019re not removing or disabling the filter altogether; rather, we\u2019re broadening it to let the elevated documents through.<\/p>\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-664aaab flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\" data-id=\"664aaab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-03098e7 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\" data-id=\"03098e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">Caching Considerations<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-abb0ace flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor\" data-id=\"abb0ace\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\r\n\t\t\t\t\t\t<p>There are some subtleties that come up as we try to make this new feature as good as it could be. One of the advantages of using filters in Solr is that they can be very fast because they can take advantage of the filter cache. We\u2019d hope to still benefit from filter caching when using QEC with excluded filters.<\/p><p>But if the user\u2019s original filter was\u00a0<code>fq=a:b<\/code> and it\u2019s in the cache, we\u2019re still going to get a cache miss the first time we execute the modified filter <code>fq=a:b OR (id:1 OR id:2 OR id:3)<\/code>.<\/p><p>And even if the modified filter eventually gets cached, the set of elevated documents can change for different values of <code>q<\/code>, so the next time the filter is applied it might be modified as <code>fq=a:b OR (id:5 OR id:6 OR id:7)<\/code>.<\/p><p>As you can see, we could start filling up the filter cache with different variants of the original filter, still without any guarantee of a cache hit for our <code>fq<\/code> if the accompanying <code>q<\/code> hasn\u2019t been seen before.<\/p><p>Fortunately, Solr has a mechanism for decomposing a filter query into separate clauses that can be cached independently. This mechanism is exposed to users via the\u00a0<a href=\"https:\/\/solr.apache.org\/guide\/solr\/latest\/query-guide\/standard-query-parser.html#differences-between-lucenes-classic-query-parser-and-solrs-standard-query-parser\">filter()<\/a> syntax. If you have a filter like <code>a:b AND c:d<\/code>, you can write:<\/p><pre style=\"padding-left: 40px;\">fq=filter(a:b) AND filter(c:d)<\/pre><p>This means that\u00a0<code>a:b<\/code> and <code>c:d<\/code>\u00a0each get their own entries in the filter cache. If we execute this <code>fq<\/code>, and later execute a different\u00a0<code>fq=filter(a:b) AND filter(e:f)<\/code>, we can read the first clause\u00a0<code>a:b<\/code>\u00a0from the cache, even though the second clause is different.<\/p><p>What this means for QEC is that when we\u2019re modifying a filter like\u00a0<code>fq=a:b<\/code>\u00a0to allow the elevated documents through, we can mark the original filter for independent caching. QEC will transform the original <code>fq<\/code> into the equivalent of this:<\/p><pre style=\"padding-left: 40px;\">fq={!cache=false}filter(a:b) OR (id:1 OR id:2 OR id:3)<\/pre><p>Here are the key points to notice about this strategy for modifying the filter:<\/p><ol><li>We set the entire modified filter to be non-caching. This prevents the cache from filling up with variants of the same filter with different sets of elevation IDs.<\/li><li>We wrap the user\u2019s original <code>fq<\/code> in <code>filter()<\/code> syntax to guarantee that it is always cached as an independent clause.<\/li><li>We don\u2019t wrap the elevation IDs in <code>filter()<\/code> syntax. The thinking is that a simple set of doc IDs is fast enough that it doesn\u2019t benefit much from being cached.<\/li><\/ol><p>There are a few other details to consider:<\/p><ol><li>If the user had set their filter to be non-caching via <code> {!cache=false}<\/code>then we respect this and we don\u2019t wrap their original filter in <code>filter()<\/code> syntax.<\/li><li>If the user had already wrapped their filter in <code>filter()<\/code> syntax, we don\u2019t doubly wrap it.<\/li><li>If the user had associated a cost with a filter via <code>fq={!cost=120}<\/code> then we copy this cost to the top level of the new, broadened filter.<\/li><\/ol>\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ee62b79 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\" data-id=\"ee62b79\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-03193a4 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\" data-id=\"03193a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">Conclusion\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a03554a flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-text-editor\" data-id=\"a03554a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-text-editor elementor-clearfix\">\r\n\t\t\t\t\t\t<p>Editorial boosting is a common use case in search, but Solr\u2019s Query Elevation Component lacked the flexibility to handle scenarios where documents should be elevated \u201cno matter what.\u201d We\u00a0 hope the new support for filter exclusions in Solr 9.2 will make QEC usable in a wider range of scenarios, in a way that maintains good performance.<\/p><p>For further details, see:\u00a0<a href=\"https:\/\/issues.apache.org\/jira\/browse\/SOLR-16496\">SOLR-16496.<\/a><\/p>\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-25d70f8 elementor-hidden-tablet elementor-hidden-mobile\" data-id=\"25d70f8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-341a4f4\" data-id=\"341a4f4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5f9fa9e flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\" data-id=\"5f9fa9e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"title-h6 elementor-heading-title elementor-size-small\">Share Post\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d6e99c flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-thegem-social-sharing\" data-id=\"0d6e99c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"thegem-social-sharing.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n        <div id=\"thegem-custom-69d748d6ec90f1703\" class=\"thegem-te-socials-sharing socials-sharing--left socials-sharing--simple socials-sharing--tiny\">\n            <div class=\"socials-sharing\">\n                <ul>\n\t\t\t\t\t                        <li><a class=\"socials-item facebook\" target=\"_blank\" href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fkmwllc.com%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F27467\" title=\"Facebook\"><i class=\"socials-item-icon facebook\"><\/i><\/a><\/li>\n\t\t\t\t\t\n\t\t\t\t\t                        <li><a class=\"socials-item twitter\" target=\"_blank\" href=\"https:\/\/twitter.com\/intent\/tweet?text=&#038;url=https%3A%2F%2Fkmwllc.com%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F27467\" title=\"Twitter\"><i class=\"socials-item-icon twitter\"><\/i><\/a><\/li>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t                        <li><a class=\"socials-item linkedin\" target=\"_blank\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fkmwllc.com%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F27467&#038;title=&amp;summary=\" title=\"LinkedIn\"><i class=\"socials-item-icon linkedin\"><\/i><\/a><\/li>\n\t\t\t\t\t\n\t\t\t\t\t                        <li><a class=\"socials-item reddit\" target=\"_blank\" href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fkmwllc.com%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F27467&#038;title=\" title=\"Reddit\"><i class=\"socials-item-icon reddit\"><\/i><\/a><\/li>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t                        <li><a class=\"socials-item threads\" target=\"_blank\" href=\"https:\/\/www.threads.net\/intent\/post?text=https%3A%2F%2Fkmwllc.com%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F27467\" title=\"Threads\"><i class=\"socials-item-icon threads\"><\/i><\/a><\/li>\n\t\t\t\t\t                <\/ul>\n            <\/div>\n        <\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3983c75 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\" data-id=\"3983c75\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca422c7 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\" data-id=\"ca422c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"title-h6 elementor-heading-title elementor-size-small\">More from the KMW Blog<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-16aff5a flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-thegem-bloglist\" data-id=\"16aff5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;thegem_elementor_preset&quot;:&quot;compact-tiny-2&quot;,&quot;exclude_blog_posts&quot;:[&quot;27467&quot;],&quot;query_type&quot;:&quot;post&quot;,&quot;source&quot;:[&quot;categories&quot;],&quot;exclude_blog_posts_type&quot;:&quot;manual&quot;,&quot;order_by&quot;:&quot;default&quot;,&quot;order&quot;:&quot;default&quot;,&quot;items_per_page&quot;:8}\" data-widget_type=\"thegem-bloglist.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"bloglist blog clearfix  blog-style-compact-tiny-2   \" data-page=\"1\" data-paged=\"1\" data-next-page=\"2\" data-pages-count=\"3\" data-load-more-action=\"thegem_bloglist_load_more\">\n\t\t\t\r\n<article id=\"post-30279\" class=\"post-item with-separator clearfix post-30279 post type-post status-publish format-standard has-post-thumbnail category-elasticsearch category-lucene category-performance\">\r\n\t\t\t<div class=\"gem-compact-tiny-left\">\r\n\t\t\t<div class=\"gem-news-item-image\">\r\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2026\/01\/10\/the-mystery-of-elasticsearch-8-17-query-performance-degradation\/\"><img width=\"144\" height=\"144\" src=\"https:\/\/kmwllc.com\/wp-content\/uploads\/2026\/01\/blog_elasticperftest_900x1200-thegem-news-carousel.png\" class=\"img-responsive wp-post-image\" alt=\"blog_elasticperftest_900x1200\" \/><\/a>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\r\n\t<div class=\"gem-compact-tiny-right\">\r\n\t\t<div class=\"gem-compact-item-content\">\r\n\t\t\t<div class=\"tiny-post-title gem-news-item-title text-body-tiny\"><a class=\"reverse-link-color \" href=\"https:\/\/kmwllc.com\/index.php\/2026\/01\/10\/the-mystery-of-elasticsearch-8-17-query-performance-degradation\/\" rel=\"bookmark\">The Mystery of Elasticsearch 8.17 Query Performance Degradation<\/a><\/div>\t\t<\/div>\r\n\t\t<div class=\"post-meta\">\r\n\t\t\t<div class=\"entry-meta clearfix text-body-tiny\">\r\n\t\t\t\t<div class=\"post-meta-left gem-news-item-date\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclass=\"post-meta-author tiny-post-author\">By Henry Caldwell<\/span><br>\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"post-meta-right\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div><!-- .entry-meta -->\r\n\t\t<\/div>\r\n\r\n\t<\/div>\r\n<\/article><!-- #post-30279 -->\r\n\r\n<article id=\"post-30125\" class=\"post-item with-separator clearfix post-30125 post type-post status-publish format-standard has-post-thumbnail category-ai category-performance category-relevancy category-search category-uncategorized\">\r\n\t\t\t<div class=\"gem-compact-tiny-left\">\r\n\t\t\t<div class=\"gem-news-item-image\">\r\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2025\/10\/04\/whats-the-best-way-to-do-entity-extraction-for-search\/\"><img width=\"144\" height=\"144\" src=\"https:\/\/kmwllc.com\/wp-content\/uploads\/2025\/10\/blogpost_entityex-thegem-news-carousel.png\" class=\"img-responsive wp-post-image\" alt=\"blogpost_entityex\" \/><\/a>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\r\n\t<div class=\"gem-compact-tiny-right\">\r\n\t\t<div class=\"gem-compact-item-content\">\r\n\t\t\t<div class=\"tiny-post-title gem-news-item-title text-body-tiny\"><a class=\"reverse-link-color \" href=\"https:\/\/kmwllc.com\/index.php\/2025\/10\/04\/whats-the-best-way-to-do-entity-extraction-for-search\/\" rel=\"bookmark\">What&#8217;s the best way to do entity extraction for search?<\/a><\/div>\t\t<\/div>\r\n\t\t<div class=\"post-meta\">\r\n\t\t\t<div class=\"entry-meta clearfix text-body-tiny\">\r\n\t\t\t\t<div class=\"post-meta-left gem-news-item-date\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclass=\"post-meta-author tiny-post-author\">By Jacob Squatrito<\/span><br>\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"post-meta-right\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div><!-- .entry-meta -->\r\n\t\t<\/div>\r\n\r\n\t<\/div>\r\n<\/article><!-- #post-30125 -->\r\n\r\n<article id=\"post-30155\" class=\"post-item with-separator clearfix post-30155 post type-post status-publish format-standard has-post-thumbnail category-ai\">\r\n\t\t\t<div class=\"gem-compact-tiny-left\">\r\n\t\t\t<div class=\"gem-news-item-image\">\r\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2025\/05\/20\/mcp-in-llm-apps-overkill-or-integral\/\"><img width=\"144\" height=\"144\" src=\"https:\/\/kmwllc.com\/wp-content\/uploads\/2025\/05\/blog_mcp_1200x900_min-thegem-news-carousel.png\" class=\"img-responsive wp-post-image\" alt=\"blog_mcp_1200x900_min\" \/><\/a>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\r\n\t<div class=\"gem-compact-tiny-right\">\r\n\t\t<div class=\"gem-compact-item-content\">\r\n\t\t\t<div class=\"tiny-post-title gem-news-item-title text-body-tiny\"><a class=\"reverse-link-color \" href=\"https:\/\/kmwllc.com\/index.php\/2025\/05\/20\/mcp-in-llm-apps-overkill-or-integral\/\" rel=\"bookmark\">MCP in LLM Apps: Overkill or Integral?<\/a><\/div>\t\t<\/div>\r\n\t\t<div class=\"post-meta\">\r\n\t\t\t<div class=\"entry-meta clearfix text-body-tiny\">\r\n\t\t\t\t<div class=\"post-meta-left gem-news-item-date\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclass=\"post-meta-author tiny-post-author\">By Kevin Butler<\/span><br>\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"post-meta-right\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div><!-- .entry-meta -->\r\n\t\t<\/div>\r\n\r\n\t<\/div>\r\n<\/article><!-- #post-30155 -->\r\n\r\n<article id=\"post-29895\" class=\"post-item with-separator clearfix post-29895 post type-post status-publish format-standard has-post-thumbnail category-ai category-opensearch category-relevancy category-search category-solr category-vector-search\">\r\n\t\t\t<div class=\"gem-compact-tiny-left\">\r\n\t\t\t<div class=\"gem-news-item-image\">\r\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2024\/06\/23\/rag-question-answering-system-for-solr-and-opensearch\/\"><img loading=\"lazy\" width=\"144\" height=\"144\" src=\"https:\/\/kmwllc.com\/wp-content\/uploads\/2024\/06\/blog_rag-thegem-news-carousel.png\" class=\"img-responsive wp-post-image\" alt=\"blog_rag\" \/><\/a>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\r\n\t<div class=\"gem-compact-tiny-right\">\r\n\t\t<div class=\"gem-compact-item-content\">\r\n\t\t\t<div class=\"tiny-post-title gem-news-item-title text-body-tiny\"><a class=\"reverse-link-color \" href=\"https:\/\/kmwllc.com\/index.php\/2024\/06\/23\/rag-question-answering-system-for-solr-and-opensearch\/\" rel=\"bookmark\">RAG Question Answering System for Solr and OpenSearch\u00a0<\/a><\/div>\t\t<\/div>\r\n\t\t<div class=\"post-meta\">\r\n\t\t\t<div class=\"entry-meta clearfix text-body-tiny\">\r\n\t\t\t\t<div class=\"post-meta-left gem-news-item-date\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclass=\"post-meta-author tiny-post-author\">By Akul Sethi<\/span><br>\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"post-meta-right\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div><!-- .entry-meta -->\r\n\t\t<\/div>\r\n\r\n\t<\/div>\r\n<\/article><!-- #post-29895 -->\r\n\r\n<article id=\"post-29639\" class=\"post-item with-separator clearfix post-29639 post type-post status-publish format-standard has-post-thumbnail category-lucene category-opensearch category-performance category-search\">\r\n\t\t\t<div class=\"gem-compact-tiny-left\">\r\n\t\t\t<div class=\"gem-news-item-image\">\r\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2024\/05\/30\/duplicate-terms-aggregation-plug-in-for-opensearch\/\"><img loading=\"lazy\" width=\"144\" height=\"144\" src=\"https:\/\/kmwllc.com\/wp-content\/uploads\/2024\/05\/blog_opensearch-agg1200x900-min-thegem-news-carousel.png\" class=\"img-responsive wp-post-image\" alt=\"blog_opensearch-agg1200x900-min\" \/><\/a>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\r\n\t<div class=\"gem-compact-tiny-right\">\r\n\t\t<div class=\"gem-compact-item-content\">\r\n\t\t\t<div class=\"tiny-post-title gem-news-item-title text-body-tiny\"><a class=\"reverse-link-color \" href=\"https:\/\/kmwllc.com\/index.php\/2024\/05\/30\/duplicate-terms-aggregation-plug-in-for-opensearch\/\" rel=\"bookmark\">Duplicate Terms Aggregation Plug-in for OpenSearch<\/a><\/div>\t\t<\/div>\r\n\t\t<div class=\"post-meta\">\r\n\t\t\t<div class=\"entry-meta clearfix text-body-tiny\">\r\n\t\t\t\t<div class=\"post-meta-left gem-news-item-date\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclass=\"post-meta-author tiny-post-author\">By Abijit Rangesh<\/span><br>\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"post-meta-right\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div><!-- .entry-meta -->\r\n\t\t<\/div>\r\n\r\n\t<\/div>\r\n<\/article><!-- #post-29639 -->\r\n\r\n<article id=\"post-28464\" class=\"post-item with-separator clearfix post-28464 post type-post status-publish format-standard has-post-thumbnail category-ai category-opensearch category-search category-vector-search\">\r\n\t\t\t<div class=\"gem-compact-tiny-left\">\r\n\t\t\t<div class=\"gem-news-item-image\">\r\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2023\/03\/29\/building-vector-search-on-opensearch\/\"><img loading=\"lazy\" width=\"144\" height=\"144\" src=\"https:\/\/kmwllc.com\/wp-content\/uploads\/2024\/05\/blog_vectorSearch_1200x900-min-thegem-news-carousel.png\" class=\"img-responsive wp-post-image\" alt=\"blog_vectorSearch_1200x900-min\" \/><\/a>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\r\n\t<div class=\"gem-compact-tiny-right\">\r\n\t\t<div class=\"gem-compact-item-content\">\r\n\t\t\t<div class=\"tiny-post-title gem-news-item-title text-body-tiny\"><a class=\"reverse-link-color \" href=\"https:\/\/kmwllc.com\/index.php\/2023\/03\/29\/building-vector-search-on-opensearch\/\" rel=\"bookmark\">Building A Vector Search Application on OpenSearch<\/a><\/div>\t\t<\/div>\r\n\t\t<div class=\"post-meta\">\r\n\t\t\t<div class=\"entry-meta clearfix text-body-tiny\">\r\n\t\t\t\t<div class=\"post-meta-left gem-news-item-date\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclass=\"post-meta-author tiny-post-author\">By Jake Horban<\/span><br>\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"post-meta-right\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div><!-- .entry-meta -->\r\n\t\t<\/div>\r\n\r\n\t<\/div>\r\n<\/article><!-- #post-28464 -->\r\n\r\n<article id=\"post-28075\" class=\"post-item with-separator clearfix post-28075 post type-post status-publish format-standard has-post-thumbnail category-elasticsearch category-search category-solr\">\r\n\t\t\t<div class=\"gem-compact-tiny-left\">\r\n\t\t\t<div class=\"gem-news-item-image\">\r\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2022\/12\/17\/ingesting-solr-logs-with-the-elk-stack\/\"><img loading=\"lazy\" width=\"144\" height=\"144\" src=\"https:\/\/kmwllc.com\/wp-content\/uploads\/2022\/12\/blog_LogAnalysisElk_min-thegem-news-carousel.png\" class=\"img-responsive wp-post-image\" alt=\"blog_LogAnalysisElk_min\" \/><\/a>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\r\n\t<div class=\"gem-compact-tiny-right\">\r\n\t\t<div class=\"gem-compact-item-content\">\r\n\t\t\t<div class=\"tiny-post-title gem-news-item-title text-body-tiny\"><a class=\"reverse-link-color \" href=\"https:\/\/kmwllc.com\/index.php\/2022\/12\/17\/ingesting-solr-logs-with-the-elk-stack\/\" rel=\"bookmark\">Ingesting Solr Logs with the ELK Stack<\/a><\/div>\t\t<\/div>\r\n\t\t<div class=\"post-meta\">\r\n\t\t\t<div class=\"entry-meta clearfix text-body-tiny\">\r\n\t\t\t\t<div class=\"post-meta-left gem-news-item-date\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclass=\"post-meta-author tiny-post-author\">By Kira Traynor<\/span><br>\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"post-meta-right\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div><!-- .entry-meta -->\r\n\t\t<\/div>\r\n\r\n\t<\/div>\r\n<\/article><!-- #post-28075 -->\r\n\r\n<article id=\"post-26659\" class=\"post-item with-separator clearfix post-26659 post type-post status-publish format-standard has-post-thumbnail category-search\">\r\n\t\t\t<div class=\"gem-compact-tiny-left\">\r\n\t\t\t<div class=\"gem-news-item-image\">\r\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2022\/09\/30\/the-kmw-search-audit\/\"><img loading=\"lazy\" width=\"144\" height=\"144\" src=\"https:\/\/kmwllc.com\/wp-content\/uploads\/2022\/09\/blog_KMWSearchAudit1200x900-thegem-news-carousel.png\" class=\"img-responsive wp-post-image\" alt=\"blog_KMWSearchAudit1200x900\" \/><\/a>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\r\n\t<div class=\"gem-compact-tiny-right\">\r\n\t\t<div class=\"gem-compact-item-content\">\r\n\t\t\t<div class=\"tiny-post-title gem-news-item-title text-body-tiny\"><a class=\"reverse-link-color \" href=\"https:\/\/kmwllc.com\/index.php\/2022\/09\/30\/the-kmw-search-audit\/\" rel=\"bookmark\">The KMW Search Audit<\/a><\/div>\t\t<\/div>\r\n\t\t<div class=\"post-meta\">\r\n\t\t\t<div class=\"entry-meta clearfix text-body-tiny\">\r\n\t\t\t\t<div class=\"post-meta-left gem-news-item-date\">\r\n\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tclass=\"post-meta-author tiny-post-author\">By Brian Nauheimer<\/span><br>\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"post-meta-right\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div><!-- .entry-meta -->\r\n\t\t<\/div>\r\n\r\n\t<\/div>\r\n<\/article><!-- #post-26659 -->\r\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div><\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f3ee41f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f3ee41f\" data-element_type=\"section\" data-e-type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-thegem\"><div class=\"elementor-row\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f85ed8a\" data-id=\"f85ed8a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cfbe074 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\" data-id=\"cfbe074\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e642630 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-global elementor-global-28083 elementor-widget-post-navigation\" data-id=\"e642630\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-navigation.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-post-navigation\" role=\"navigation\" aria-label=\"Post Navigation\">\n\t\t\t<div class=\"elementor-post-navigation__prev elementor-post-navigation__link\">\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2022\/07\/02\/search-engine-upgrade\/\" rel=\"prev\"><span class=\"elementor-post-navigation__link__prev\"><span class=\"post-navigation__prev--label\">Previous Post<\/span><span class=\"post-navigation__prev--title\">Search Engine Upgrade<\/span><\/span><\/a>\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-post-navigation__next elementor-post-navigation__link\">\n\t\t\t\t<a href=\"https:\/\/kmwllc.com\/index.php\/2022\/11\/17\/solrs-query-elevation-component-now-supports-filter-exclusions\/\" rel=\"next\"><span class=\"elementor-post-navigation__link__next\"><span class=\"post-navigation__next--label\">Next Post<\/span><span class=\"post-navigation__next--title\">Solr&#8217;s query elevation component now supports filter exclusions<\/span><\/span><\/a>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div><\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>New in Solr 9.2! We created a way for the Query Elevation Component to exclude filters. Read about how we did this and what you should know about this new feature.<\/p>\n","protected":false},"author":4,"featured_media":29696,"comment_status":"closed","ping_status":"open","sticky":false,"template":"single-fullwidth.php","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[36,37],"tags":[],"class_list":{"0":"post-27467","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-search","8":"category-solr"},"aioseo_notices":[],"post_meta_fields":{"_wp_page_template":["single-fullwidth.php"],"_edit_lock":["1748878262:7"],"_edit_last":["7"],"_customize_sidebars":["yes"],"thegem_post_general_item_data":["a:22:{s:20:\"post_layout_settings\";s:7:\"default\";s:18:\"post_layout_source\";s:7:\"default\";s:21:\"post_builder_template\";s:1:\"0\";s:26:\"show_featured_posts_slider\";i:0;s:21:\"show_featured_content\";s:8:\"disabled\";s:10:\"video_type\";s:7:\"youtube\";s:5:\"video\";s:0:\"\";s:18:\"video_aspect_ratio\";s:0:\"\";s:10:\"quote_text\";s:0:\"\";s:12:\"quote_author\";s:0:\"\";s:16:\"quote_background\";s:0:\"\";s:18:\"quote_author_color\";s:0:\"\";s:5:\"audio\";s:0:\"\";s:7:\"gallery\";i:0;s:18:\"gallery_autoscroll\";i:0;s:9:\"highlight\";i:0;s:14:\"highlight_type\";s:7:\"squared\";s:15:\"highlight_style\";s:7:\"default\";s:31:\"highlight_title_left_background\";s:9:\"#00BCD4FF\";s:26:\"highlight_title_left_color\";s:9:\"#FFFFFFFF\";s:32:\"highlight_title_right_background\";s:9:\"#00BCD4FF\";s:27:\"highlight_title_right_color\";s:9:\"#FFFFFFFF\";}"],"thegem_show_featured_posts_slider":["0"],"thegem_post_page_elements_data":["a:12:{s:13:\"post_elements\";s:6:\"custom\";s:11:\"show_author\";i:0;s:16:\"blog_hide_author\";i:1;s:14:\"blog_hide_date\";i:1;s:26:\"blog_hide_date_in_blog_cat\";i:1;s:20:\"blog_hide_categories\";i:1;s:14:\"blog_hide_tags\";i:1;s:18:\"blog_hide_comments\";i:1;s:15:\"blog_hide_likes\";i:1;s:20:\"blog_hide_navigation\";i:1;s:17:\"blog_hide_socials\";i:1;s:17:\"blog_hide_realted\";i:1;}"],"thegem_page_data":["a:189:{s:10:\"title_show\";s:7:\"default\";s:11:\"title_style\";s:1:\"1\";s:14:\"title_template\";s:1:\"0\";s:23:\"title_use_page_settings\";i:0;s:12:\"title_xlarge\";i:0;s:18:\"title_rich_content\";i:0;s:13:\"title_content\";s:0:\"\";s:21:\"title_background_type\";s:8:\"gradient\";s:22:\"title_background_image\";s:0:\"\";s:29:\"title_background_image_repeat\";i:0;s:27:\"title_background_position_x\";s:6:\"center\";s:27:\"title_background_position_y\";s:3:\"top\";s:21:\"title_background_size\";s:5:\"cover\";s:28:\"title_background_image_color\";s:7:\"#333144\";s:30:\"title_background_image_overlay\";s:0:\"\";s:30:\"title_background_gradient_type\";s:6:\"linear\";s:31:\"title_background_gradient_angle\";i:90;s:34:\"title_background_gradient_position\";s:13:\"center center\";s:38:\"title_background_gradient_point1_color\";s:9:\"#00BCD4BF\";s:41:\"title_background_gradient_point1_position\";i:0;s:38:\"title_background_gradient_point2_color\";s:9:\"#354093BF\";s:41:\"title_background_gradient_point2_position\";i:100;s:23:\"title_background_effect\";s:6:\"normal\";s:36:\"title_background_ken_burns_direction\";s:7:\"zoom_in\";s:43:\"title_background_ken_burns_transition_speed\";i:15000;s:37:\"title_background_video_play_on_mobile\";i:0;s:22:\"title_background_color\";s:9:\"#0A0AF0FF\";s:27:\"title_background_video_type\";s:0:\"\";s:22:\"title_background_video\";s:0:\"\";s:35:\"title_background_video_aspect_ratio\";s:0:\"\";s:36:\"title_background_video_overlay_color\";s:0:\"\";s:38:\"title_background_video_overlay_opacity\";s:0:\"\";s:29:\"title_background_video_poster\";s:0:\"\";s:19:\"title_menu_on_video\";s:0:\"\";s:16:\"title_text_color\";s:7:\"#ffffff\";s:24:\"title_excerpt_text_color\";s:7:\"#ffffff\";s:13:\"title_excerpt\";s:0:\"\";s:17:\"title_title_width\";s:0:\"\";s:19:\"title_excerpt_width\";s:0:\"\";s:22:\"title_font_preset_html\";s:0:\"\";s:23:\"title_font_preset_style\";s:0:\"\";s:24:\"title_font_preset_weight\";s:0:\"\";s:27:\"title_font_preset_transform\";s:0:\"\";s:30:\"title_excerpt_font_preset_html\";s:0:\"\";s:31:\"title_excerpt_font_preset_style\";s:0:\"\";s:32:\"title_excerpt_font_preset_weight\";s:0:\"\";s:35:\"title_excerpt_font_preset_transform\";s:0:\"\";s:17:\"title_padding_top\";i:80;s:24:\"title_padding_top_tablet\";i:80;s:24:\"title_padding_top_mobile\";i:80;s:20:\"title_padding_bottom\";i:40;s:27:\"title_padding_bottom_tablet\";i:80;s:27:\"title_padding_bottom_mobile\";i:80;s:18:\"title_padding_left\";i:0;s:25:\"title_padding_left_tablet\";i:0;s:25:\"title_padding_left_mobile\";i:0;s:19:\"title_padding_right\";i:0;s:26:\"title_padding_right_tablet\";i:0;s:26:\"title_padding_right_mobile\";i:0;s:16:\"title_top_margin\";i:0;s:23:\"title_top_margin_tablet\";i:0;s:23:\"title_top_margin_mobile\";i:0;s:24:\"title_excerpt_top_margin\";i:18;s:31:\"title_excerpt_top_margin_tablet\";i:18;s:31:\"title_excerpt_top_margin_mobile\";i:18;s:17:\"title_breadcrumbs\";i:1;s:15:\"title_alignment\";s:6:\"center\";s:15:\"title_icon_pack\";s:7:\"elegant\";s:10:\"title_icon\";s:0:\"\";s:16:\"title_icon_color\";s:0:\"\";s:18:\"title_icon_color_2\";s:0:\"\";s:27:\"title_icon_background_color\";s:0:\"\";s:16:\"title_icon_shape\";s:6:\"circle\";s:23:\"title_icon_border_color\";s:0:\"\";s:15:\"title_icon_size\";s:5:\"large\";s:16:\"title_icon_style\";s:0:\"\";s:18:\"title_icon_opacity\";d:0;s:25:\"breadcrumbs_default_color\";s:0:\"\";s:24:\"breadcrumbs_active_color\";s:0:\"\";s:23:\"breadcrumbs_hover_color\";s:0:\"\";s:27:\"title_breadcrumbs_alignment\";s:6:\"center\";s:18:\"header_transparent\";i:0;s:14:\"header_opacity\";i:50;s:22:\"header_menu_logo_light\";i:0;s:20:\"header_hide_top_area\";s:7:\"default\";s:27:\"header_hide_top_area_tablet\";s:7:\"default\";s:27:\"header_hide_top_area_mobile\";s:7:\"default\";s:9:\"menu_show\";s:7:\"default\";s:12:\"menu_options\";s:7:\"default\";s:18:\"header_custom_menu\";i:0;s:27:\"header_top_area_transparent\";i:0;s:23:\"header_top_area_opacity\";i:50;s:16:\"top_area_options\";s:7:\"default\";s:13:\"header_source\";s:7:\"default\";s:14:\"header_builder\";s:1:\"0\";s:29:\"header_builder_sticky_desktop\";i:0;s:28:\"header_builder_sticky_mobile\";i:0;s:34:\"header_builder_sticky_hide_desktop\";i:0;s:33:\"header_builder_sticky_hide_mobile\";i:1;s:21:\"header_builder_sticky\";s:1:\"0\";s:29:\"header_builder_sticky_opacity\";i:80;s:26:\"header_builder_light_color\";s:7:\"#FFFFFF\";s:32:\"header_builder_light_color_hover\";s:7:\"#00bcd4\";s:20:\"main_background_type\";s:5:\"color\";s:21:\"main_background_color\";s:7:\"#ffffff\";s:21:\"main_background_image\";s:76:\"https:\/\/kmwllc.com\/wp-content\/uploads\/2022\/11\/Background_BlogPosts_right.png\";s:28:\"main_background_image_repeat\";s:1:\"1\";s:26:\"main_background_position_x\";s:4:\"left\";s:26:\"main_background_position_y\";s:3:\"top\";s:20:\"main_background_size\";s:7:\"contain\";s:27:\"main_background_image_color\";s:0:\"\";s:29:\"main_background_image_overlay\";s:0:\"\";s:29:\"main_background_gradient_type\";s:6:\"linear\";s:30:\"main_background_gradient_angle\";i:90;s:33:\"main_background_gradient_position\";s:0:\"\";s:37:\"main_background_gradient_point1_color\";s:9:\"#E9ECDAFF\";s:40:\"main_background_gradient_point1_position\";i:0;s:37:\"main_background_gradient_point2_color\";s:9:\"#D5F6FAFF\";s:40:\"main_background_gradient_point2_position\";i:100;s:23:\"main_background_pattern\";s:0:\"\";s:19:\"content_padding_top\";i:20;s:26:\"content_padding_top_tablet\";s:0:\"\";s:26:\"content_padding_top_mobile\";s:0:\"\";s:22:\"content_padding_bottom\";i:0;s:29:\"content_padding_bottom_tablet\";s:0:\"\";s:29:\"content_padding_bottom_mobile\";s:0:\"\";s:20:\"content_area_options\";s:6:\"custom\";s:18:\"footer_custom_show\";s:7:\"default\";s:13:\"footer_custom\";s:1:\"0\";s:19:\"footer_hide_default\";s:7:\"default\";s:23:\"footer_hide_widget_area\";s:7:\"default\";s:16:\"effects_disabled\";i:0;s:17:\"effects_one_pager\";i:0;s:23:\"effects_parallax_footer\";i:0;s:24:\"effects_no_bottom_margin\";i:0;s:21:\"effects_no_top_margin\";i:0;s:19:\"redirect_to_subpage\";i:0;s:19:\"effects_hide_header\";s:7:\"default\";s:19:\"effects_hide_footer\";s:7:\"default\";s:21:\"effects_page_scroller\";i:0;s:28:\"effects_page_scroller_mobile\";i:0;s:26:\"effects_page_scroller_type\";s:8:\"advanced\";s:22:\"fullpage_disabled_dots\";i:0;s:19:\"fullpage_style_dots\";s:7:\"outline\";s:31:\"fullpage_disabled_tooltips_dots\";i:0;s:25:\"fullpage_fixed_background\";b:0;s:26:\"fullpage_enable_continuous\";i:0;s:24:\"fullpage_disabled_mobile\";i:0;s:22:\"fullpage_scroll_effect\";s:6:\"normal\";s:21:\"enable_page_preloader\";s:7:\"default\";s:14:\"slideshow_type\";s:0:\"\";s:19:\"slideshow_slideshow\";s:0:\"\";s:21:\"slideshow_layerslider\";s:0:\"\";s:19:\"slideshow_revslider\";s:0:\"\";s:19:\"slideshow_preloader\";i:0;s:12:\"sidebar_show\";s:8:\"disabled\";s:16:\"sidebar_position\";s:5:\"right\";s:14:\"sidebar_sticky\";i:0;s:24:\"product_header_separator\";i:0;s:23:\"page_layout_breadcrumbs\";s:7:\"default\";s:37:\"page_layout_breadcrumbs_default_color\";s:9:\"#99A9B5FF\";s:36:\"page_layout_breadcrumbs_active_color\";s:9:\"#3C3950FF\";s:35:\"page_layout_breadcrumbs_hover_color\";s:9:\"#3C3950FF\";s:33:\"page_layout_breadcrumbs_alignment\";s:4:\"left\";s:38:\"page_layout_breadcrumbs_bottom_spacing\";s:1:\"0\";s:37:\"page_layout_breadcrumbs_shop_category\";i:0;s:18:\"delay_js_execution\";i:0;s:13:\"disable_cache\";i:0;s:31:\"title_breadcrumbs_shop_category\";s:1:\"0\";s:20:\"title_padding_locked\";s:0:\"\";s:27:\"title_padding_tablet_locked\";s:0:\"\";s:27:\"title_padding_mobile_locked\";s:0:\"\";s:24:\"title_background_pattern\";s:0:\"\";s:30:\"title_background_video_overlay\";s:0:\"\";s:16:\"title_icon__pack\";s:0:\"\";s:21:\"title_icon_shape_show\";s:0:\"\";s:25:\"footer_widget_woocommerce\";s:1:\"1\";s:19:\"portfolio_item_data\";a:9:{s:8:\"back_url\";s:0:\"\";s:9:\"highlight\";s:0:\"\";s:14:\"highlight_type\";s:0:\"\";s:14:\"overview_title\";s:0:\"\";s:16:\"overview_summary\";s:0:\"\";s:12:\"project_link\";s:0:\"\";s:12:\"project_text\";s:0:\"\";s:9:\"fullwidth\";s:0:\"\";s:19:\"project_button_show\";s:0:\"\";}s:23:\"portfolio_elements_data\";a:7:{s:23:\"portfolio_page_elements\";s:7:\"default\";s:19:\"portfolio_hide_date\";s:0:\"\";s:19:\"portfolio_hide_sets\";s:0:\"\";s:20:\"portfolio_hide_likes\";s:0:\"\";s:22:\"portfolio_hide_socials\";s:0:\"\";s:29:\"portfolio_hide_top_navigation\";s:0:\"\";s:32:\"portfolio_hide_bottom_navigation\";s:0:\"\";}s:17:\"product_item_data\";a:109:{s:9:\"highlight\";s:0:\"\";s:14:\"highlight_type\";s:7:\"squared\";s:28:\"thegem_product_disable_hover\";s:1:\"0\";s:10:\"size_guide\";s:7:\"default\";s:16:\"size_guide_image\";s:0:\"\";s:23:\"product_layout_settings\";s:7:\"default\";s:21:\"product_layout_source\";s:7:\"default\";s:24:\"product_builder_template\";s:0:\"\";s:19:\"product_page_layout\";s:7:\"default\";s:25:\"product_page_layout_style\";s:15:\"horizontal_tabs\";s:28:\"product_page_layout_centered\";s:1:\"0\";s:39:\"product_page_layout_centered_top_margin\";s:2:\"42\";s:34:\"product_page_layout_centered_boxed\";s:1:\"0\";s:40:\"product_page_layout_centered_boxed_color\";s:0:\"\";s:29:\"product_page_layout_fullwidth\";s:1:\"0\";s:26:\"product_page_layout_sticky\";s:1:\"0\";s:33:\"product_page_layout_sticky_offset\";s:1:\"0\";s:28:\"product_page_skeleton_loader\";s:1:\"0\";s:30:\"product_page_layout_background\";s:0:\"\";s:30:\"product_page_layout_title_area\";s:8:\"disabled\";s:29:\"product_page_ajax_add_to_cart\";s:1:\"1\";s:31:\"product_page_desc_review_source\";s:17:\"extra_description\";s:31:\"product_page_desc_review_layout\";s:4:\"tabs\";s:42:\"product_page_desc_review_layout_tabs_style\";s:10:\"horizontal\";s:46:\"product_page_desc_review_layout_tabs_alignment\";s:4:\"left\";s:44:\"product_page_desc_review_layout_acc_position\";s:13:\"below_gallery\";s:65:\"product_page_desc_review_layout_one_by_one_description_background\";s:9:\"#F4F6F7FF\";s:69:\"product_page_desc_review_layout_one_by_one_additional_info_background\";s:9:\"#FFFFFFFF\";s:61:\"product_page_desc_review_layout_one_by_one_reviews_background\";s:9:\"#F4F6F7FF\";s:36:\"product_page_desc_review_description\";s:1:\"1\";s:42:\"product_page_desc_review_description_title\";s:11:\"Description\";s:40:\"product_page_desc_review_additional_info\";s:1:\"1\";s:46:\"product_page_desc_review_additional_info_title\";s:15:\"Additional Info\";s:32:\"product_page_desc_review_reviews\";s:1:\"1\";s:38:\"product_page_desc_review_reviews_title\";s:7:\"Reviews\";s:36:\"product_page_button_add_to_cart_text\";s:11:\"Add to Cart\";s:36:\"product_page_button_add_to_cart_icon\";s:4:\"f1e7\";s:41:\"product_page_button_add_to_cart_icon_pack\";s:8:\"material\";s:45:\"product_page_button_add_to_cart_icon_position\";s:4:\"left\";s:40:\"product_page_button_add_to_wishlist_icon\";s:4:\"f37b\";s:45:\"product_page_button_add_to_wishlist_icon_pack\";s:8:\"material\";s:42:\"product_page_button_added_to_wishlist_icon\";s:4:\"f377\";s:47:\"product_page_button_added_to_wishlist_icon_pack\";s:8:\"material\";s:41:\"product_page_button_clear_attributes_text\";s:15:\"Clear selection\";s:31:\"product_page_elements_prev_next\";s:1:\"1\";s:38:\"product_page_elements_preview_on_hover\";s:1:\"1\";s:34:\"product_page_elements_back_to_shop\";s:1:\"1\";s:39:\"product_page_elements_back_to_shop_link\";s:9:\"main_shop\";s:50:\"product_page_elements_back_to_shop_link_custom_url\";s:0:\"\";s:27:\"product_page_elements_title\";s:1:\"1\";s:32:\"product_page_elements_attributes\";s:1:\"0\";s:37:\"product_page_elements_attributes_data\";s:0:\"\";s:29:\"product_page_elements_reviews\";s:1:\"1\";s:34:\"product_page_elements_reviews_text\";s:16:\"customer reviews\";s:27:\"product_page_elements_price\";s:1:\"1\";s:41:\"product_page_elements_price_strikethrough\";s:1:\"1\";s:33:\"product_page_elements_description\";s:1:\"1\";s:34:\"product_page_elements_stock_amount\";s:1:\"1\";s:39:\"product_page_elements_stock_amount_text\";s:17:\"Products in stock\";s:32:\"product_page_elements_size_guide\";s:1:\"1\";s:25:\"product_page_elements_sku\";s:1:\"1\";s:31:\"product_page_elements_sku_title\";s:3:\"SKU\";s:32:\"product_page_elements_categories\";s:1:\"1\";s:38:\"product_page_elements_categories_title\";s:10:\"Categories\";s:26:\"product_page_elements_tags\";s:1:\"1\";s:32:\"product_page_elements_tags_title\";s:4:\"Tags\";s:27:\"product_page_elements_share\";s:1:\"1\";s:33:\"product_page_elements_share_title\";s:5:\"Share\";s:36:\"product_page_elements_share_facebook\";s:1:\"1\";s:35:\"product_page_elements_share_twitter\";s:1:\"1\";s:37:\"product_page_elements_share_pinterest\";s:1:\"1\";s:34:\"product_page_elements_share_tumblr\";s:1:\"1\";s:36:\"product_page_elements_share_linkedin\";s:1:\"1\";s:34:\"product_page_elements_share_reddit\";s:1:\"1\";s:28:\"product_page_elements_upsell\";s:1:\"1\";s:34:\"product_page_elements_upsell_title\";s:17:\"You may also like\";s:44:\"product_page_elements_upsell_title_alignment\";s:4:\"left\";s:34:\"product_page_elements_upsell_items\";s:2:\"-1\";s:44:\"product_page_elements_upsell_columns_desktop\";s:2:\"4x\";s:43:\"product_page_elements_upsell_columns_tablet\";s:2:\"3x\";s:43:\"product_page_elements_upsell_columns_mobile\";s:2:\"2x\";s:40:\"product_page_elements_upsell_columns_100\";s:1:\"5\";s:29:\"product_page_elements_related\";s:1:\"1\";s:35:\"product_page_elements_related_title\";s:16:\"Related Products\";s:45:\"product_page_elements_related_title_alignment\";s:4:\"left\";s:35:\"product_page_elements_related_items\";s:2:\"-1\";s:45:\"product_page_elements_related_columns_desktop\";s:2:\"4x\";s:44:\"product_page_elements_related_columns_tablet\";s:2:\"3x\";s:44:\"product_page_elements_related_columns_mobile\";s:2:\"2x\";s:41:\"product_page_elements_related_columns_100\";s:1:\"5\";s:15:\"product_gallery\";s:7:\"enabled\";s:20:\"product_gallery_type\";s:10:\"horizontal\";s:31:\"product_gallery_column_position\";s:4:\"left\";s:28:\"product_gallery_column_width\";s:2:\"50\";s:26:\"product_gallery_show_image\";s:5:\"hover\";s:20:\"product_gallery_zoom\";s:1:\"1\";s:24:\"product_gallery_lightbox\";s:1:\"1\";s:22:\"product_gallery_labels\";s:1:\"1\";s:26:\"product_gallery_label_sale\";s:1:\"1\";s:25:\"product_gallery_label_new\";s:1:\"1\";s:31:\"product_gallery_label_out_stock\";s:1:\"1\";s:27:\"product_gallery_auto_height\";s:1:\"1\";s:30:\"product_gallery_elements_color\";s:0:\"\";s:28:\"product_gallery_grid_columns\";s:2:\"1x\";s:25:\"product_gallery_grid_gaps\";s:2:\"42\";s:30:\"product_gallery_grid_gaps_hide\";s:1:\"0\";s:31:\"product_gallery_grid_top_margin\";s:1:\"0\";s:30:\"product_gallery_video_autoplay\";s:1:\"0\";s:15:\"size_guide_text\";s:10:\"Size guide\";}s:25:\"product_archive_item_data\";a:2:{s:29:\"product_archive_layout_source\";s:7:\"default\";s:32:\"product_archive_builder_template\";s:0:\"\";}s:22:\"blog_archive_item_data\";a:2:{s:26:\"blog_archive_layout_source\";s:7:\"default\";s:29:\"blog_archive_builder_template\";s:0:\"\";}s:24:\"options_current_contents\";N;s:16:\"options_modified\";N;s:34:\"options_outside_parameter_modified\";b:0;s:22:\"options_saved_contents\";N;s:8:\"settings\";a:3:{s:5:\"theme\";s:5:\"light\";s:24:\"background_image_gallery\";a:0:{}s:21:\"colorpicker_favorites\";a:1:{s:7:\"default\";a:0:{}}}s:26:\"delay_js_execution_desktop\";s:1:\"0\";s:25:\"delay_js_execution_mobile\";s:1:\"0\";}"],"_zilla_likes":["0"],"_elementor_template_type":["wp-post"],"_elementor_version":["3.25.10"],"_elementor_data":["[{\"id\":\"fd34a80\",\"elType\":\"section\",\"settings\":{\"content_width\":{\"unit\":\"px\",\"size\":\"1260\",\"sizes\":[]},\"gap\":\"no\",\"content_position\":\"middle\",\"structure\":\"30\"},\"elements\":[{\"id\":\"1ac6aa6\",\"elType\":\"column\",\"settings\":{\"_column_size\":33,\"thegem_column_breakpoints_list\":[],\"space_between_widgets\":\"0\",\"background_background\":\"classic\",\"background_image\":{\"url\":\"\",\"id\":\"\",\"alt\":\"\",\"source\":\"library\"},\"background_repeat\":\"repeat-y\",\"background_size\":\"initial\",\"background_bg_width\":{\"unit\":\"%\",\"size\":\"15\",\"sizes\":[]},\"background_position\":\"top left\",\"background_motion_fx_translateY_effect\":\"yes\",\"thegem_parallax_activate\":\"yes\",\"_inline_size\":64.333,\"content_position\":\"center\",\"margin\":{\"unit\":\"rem\",\"top\":\"\",\"right\":\"\",\"bottom\":\"\",\"left\":\"\",\"isLinked\":\"1\"},\"margin_tablet\":{\"unit\":\"rem\",\"top\":\"\",\"right\":\"\",\"bottom\":\"\",\"left\":\"\",\"isLinked\":\"1\"},\"margin_mobile\":{\"unit\":\"rem\",\"top\":\"\",\"right\":\"\",\"bottom\":\"\",\"left\":\"\",\"isLinked\":\"1\"},\"_inline_size_tablet\":100},\"elements\":[{\"id\":\"6a9733a\",\"elType\":\"widget\",\"settings\":{\"icon_list\":[{\"selected_icon\":{\"value\":\"fas fa-calendar\",\"library\":\"fa-solid\"},\"custom_date_format\":\"F j, Y\",\"custom_time_format\":\"g:i a\",\"link\":\"\",\"show_icon\":\"none\",\"_id\":\"95b1039\"}],\"_margin\":{\"unit\":\"px\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"5\",\"left\":\"0\",\"isLinked\":\"\"},\"__globals__\":{\"text_color\":\"globals\\\/colors?id=primary\"}},\"elements\":[],\"widgetType\":\"post-info\"},{\"id\":\"82a3d01\",\"elType\":\"widget\",\"settings\":{\"title\":\"Add Your Heading Text Here\",\"header_size\":\"div\",\"thegem_heading_style\":\"styled-subtitle\",\"__dynamic__\":{\"title\":\"[elementor-tag id=\\\"0760590\\\" name=\\\"thegem-post-excerpt\\\" settings=\\\"%7B%7D\\\"]\"}},\"elements\":[],\"widgetType\":\"heading\"},{\"id\":\"156b3c4\",\"elType\":\"widget\",\"settings\":{\"source\":\"custom\",\"author_avatar\":{\"url\":\"https:\\\/\\\/kmwllc.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Rudi.png\",\"id\":\"25555\",\"alt\":\"\",\"source\":\"library\"},\"author_name\":\"Rudi Seitz\",\"author_bio\":\"Solr Contributor &amp; Senior Search Engineer at KMW Technologoy\",\"link_text\":\"All Posts\",\"image_vertical_align\":\"middle\",\"image_size\":{\"unit\":\"px\",\"size\":\"100\",\"sizes\":[]},\"image_gap\":{\"unit\":\"px\",\"size\":\"14\",\"sizes\":[]},\"image_border\":\"yes\",\"image_border_color\":\"#00DEFF63\",\"image_border_width\":{\"unit\":\"px\",\"size\":\"3\",\"sizes\":[]},\"image_border_radius\":{\"unit\":\"px\",\"size\":\"46\",\"sizes\":[]},\"input_box_shadow_box_shadow_type\":\"yes\",\"input_box_shadow_box_shadow\":{\"horizontal\":\"0\",\"vertical\":\"0\",\"blur\":\"0\",\"spread\":\"0\",\"color\":\"rgba(0,0,0,0.5)\"},\"_padding\":{\"unit\":\"em\",\"top\":\"2\",\"right\":\"2\",\"bottom\":\"2\",\"left\":\"2\",\"isLinked\":\"1\"},\"_element_width\":\"inherit\",\"_element_custom_width\":{\"unit\":\"%\",\"size\":\"60\",\"sizes\":[]},\"_border_radius\":{\"unit\":\"px\",\"top\":\"26\",\"right\":\"26\",\"bottom\":\"26\",\"left\":\"26\",\"isLinked\":\"1\"},\"_box_shadow_box_shadow_type\":\"yes\",\"_box_shadow_box_shadow\":{\"horizontal\":\"0\",\"vertical\":\"0\",\"blur\":\"0\",\"spread\":\"0\",\"color\":\"rgba(0,0,0,0.5)\"},\"_mask_shape\":\"blob\",\"__globals__\":{\"_background_color\":\"globals\\\/colors?id=primary\"},\"_element_vertical_align\":\"center\",\"author_name_tag\":\"h6\",\"name_typography_typography\":\"custom\",\"name_typography_text_transform\":\"none\",\"bio_typography_typography\":\"custom\",\"bio_typography_text_transform\":\"none\",\"_padding_tablet\":{\"unit\":\"em\",\"top\":\"\",\"right\":\"\",\"bottom\":\"\",\"left\":\"\",\"isLinked\":\"1\"},\"_padding_mobile\":{\"unit\":\"em\",\"top\":\"\",\"right\":\"\",\"bottom\":\"\",\"left\":\"\",\"isLinked\":\"1\"}},\"elements\":[],\"widgetType\":\"author-box\"},{\"id\":\"cb8d6fb\",\"elType\":\"widget\",\"settings\":{\"align\":\"center\",\"text\":\"Divider\",\"color\":\"#00DEFF\",\"weight\":{\"unit\":\"px\",\"size\":\"3\",\"sizes\":[]},\"_padding\":{\"unit\":\"em\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"isLinked\":\"1\"},\"gap\":{\"unit\":\"px\",\"size\":\"0\",\"sizes\":[]},\"_padding_tablet\":{\"unit\":\"em\",\"top\":\"\",\"right\":\"\",\"bottom\":\"\",\"left\":\"\",\"isLinked\":\"1\"},\"_padding_mobile\":{\"unit\":\"em\",\"top\":\"\",\"right\":\"\",\"bottom\":\"\",\"left\":\"\",\"isLinked\":\"1\"}},\"elements\":[],\"widgetType\":\"divider\"},{\"id\":\"58e5af1\",\"elType\":\"widget\",\"settings\":[],\"elements\":[],\"widgetType\":\"spacer\"},{\"id\":\"8a7610b\",\"elType\":\"widget\",\"settings\":{\"title\":\"The Problem\",\"size\":\"large\"},\"elements\":[],\"widgetType\":\"heading\"},{\"id\":\"839e726\",\"elType\":\"widget\",\"settings\":{\"editor\":\"<p>If you've ever needed to editorially override the top results for a Solr query, you've probably looked at the Query Elevation Component (QEC). Using QEC, you can indicate that certain documents should appear as top results for a given query, even if those documents would have had a lower position based on natural scoring, or would have been absent entirely.<\\\/p>\\n<p>In Solr 9.1 and before, filters always took precedence over elevation. For example, you might have configured QEC to return the document with <code>id=1<\\\/code> whenever a user searched for <code>foo<\\\/code>. However, if the query also included an \\\"in stock\\\" filter, like this:<\\\/p>\\n<pre style=\\\"padding-left: 40px;\\\">q=foo\\nfq=in_stock:true<\\\/pre>\\n<p>then&nbsp;<code>id=1<\\\/code>&nbsp;would only be elevated if it happened to be in stock.<\\\/p>\\n<p>Of course, this&nbsp;<em>might<\\\/em> have been the behavior you wanted. But what if you needed to elevate out-of-stock items too \\u2013 maybe so you could accept preorders? We had a customer who wanted to support this use case \\u2013 applying an <code>fq<\\\/code> to non-elevated documents but bypassing the same <code>fq<\\\/code> for elevated documents. There wasn't a way to do this, so we implemented the feature.<\\\/p>\"},\"elements\":[],\"widgetType\":\"text-editor\"},{\"id\":\"d7b1681\",\"elType\":\"widget\",\"settings\":[],\"elements\":[],\"widgetType\":\"spacer\"},{\"id\":\"0b24147\",\"elType\":\"widget\",\"settings\":{\"title\":\"The Solution in Solr 9.2\",\"size\":\"large\"},\"elements\":[],\"widgetType\":\"heading\"},{\"id\":\"24f7fee\",\"elType\":\"widget\",\"settings\":{\"editor\":\"<p>Starting in Solr 9.2, QEC supports filter exclusions. You can use the following syntax to assign tags to specific filters and to indicate that QEC should let elevated documents bypass those tagged filters.<\\\/p><pre style=\\\"padding-left: 40px;\\\">q=foo\\nfq={!tag=t1}in_stock:true\\nelevate.excludeTags=t1<\\\/pre><p>The example above assigns the tag <code>t1<\\\/code> to the \\\"in stock\\\" filter and excludes it for elevated documents. Note that the syntax is similar to the way you can <a href=\\\"https:\\\/\\\/solr.apache.org\\\/guide\\\/solr\\\/latest\\\/query-guide\\\/faceting.html#tagging-and-excluding-filters\\\">tag and exclude filters while faceting<\\\/a>.<\\\/p><p>In the rest of this post, we\\u2019ll discuss the implementation details of QEC\\u2019s new filter exclusion feature. To understand those details, we first need to understand QEC\\u2019s basic design.<\\\/p>\"},\"elements\":[],\"widgetType\":\"text-editor\"},{\"id\":\"1f597ef\",\"elType\":\"widget\",\"settings\":[],\"elements\":[],\"widgetType\":\"spacer\"},{\"id\":\"5500edd\",\"elType\":\"widget\",\"settings\":{\"title\":\"QEC Design Background\",\"size\":\"large\"},\"elements\":[],\"widgetType\":\"heading\"},{\"id\":\"98622c6\",\"elType\":\"widget\",\"settings\":{\"editor\":\"<p>If you were building the Query Elevation Component from scratch, your first thought might be to use an additive approach. The component would run the user\\u2019s query to get an initial result set. Then it would run a second query to retrieve the elevated documents. Finally it would merge those two results sets, placing the elevated documents on top.<\\\/p><p>There are a few drawbacks to this possible design. First, we\\u2019d be incurring the overhead of running two queries instead of one. Second, we\\u2019d have to find a way of preventing duplicates. We don\\u2019t want to include any document in the result set <em>twice<\\\/em>, so we\\u2019d have to figure out if an elevated document existed in the original result set before we could add it. If an elevated document turned out to be present already, we\\u2019d need a way of moving it to the top. And third, we\\u2019d need to find a way of inserting the elevated documents into facets as well as the primary result set.<\\\/p><p>To avoid all these complications, QEC takes a different approach:<\\\/p><ol><li>It broadens the user's original query to make sure that it matches all the elevated documents. The broadened query is a Boolean OR of the original query with a disjunction across the elevated document IDs. So if the original query was <code>q=XYZ<\\\/code>, the new query would be something like <code>q=XYZ OR (id:1 OR id:2 OR id:3)<\\\/code>.<code><\\\/code><\\\/li><li>It adds a new sort criterion to the query that makes the elevated docs appear at the top of the sort order.<\\\/li><\\\/ol><p>This approach allows QEC to achieve its goals with a single query, eliminating the complex piecing-together of multiple queries. But earlier versions of QEC applied this strategy to the <code>q<\\\/code> parameter only, leaving all <code>fq<\\\/code> instances unmodified. Since <code>fq<\\\/code> always take precedence over <code>q<\\\/code> in Solr, elevated documents still had to match the filters in order to be included.<\\\/p>\"},\"elements\":[],\"widgetType\":\"text-editor\"},{\"id\":\"544545f\",\"elType\":\"widget\",\"settings\":[],\"elements\":[],\"widgetType\":\"spacer\"},{\"id\":\"77f926a\",\"elType\":\"widget\",\"settings\":{\"title\":\"Implementing Exclusions\",\"size\":\"large\"},\"elements\":[],\"widgetType\":\"heading\"},{\"id\":\"2b241a2\",\"elType\":\"widget\",\"settings\":{\"editor\":\"<p>To improve QEC so that elevated documents can bypass specific filters, we can reuse the same strategy that QEC applies to the primary query. Indeed, that\\u2019s how our Solr 9.2 changes work. To \\u201cexclude\\u201d a given filter, we transform it into a Boolean OR of the original filter with a disjunction across the elevated document IDs. So a filter like\\u00a0<code>fq=a:b<\\\/code>\\u00a0would become<\\\/p><pre style=\\\"padding-left: 40px;\\\">fq=a:b OR (id:1 OR id:2 OR id3)<\\\/pre><p>where and <code>1<\\\/code>, <code>2<\\\/code>, <code>3<\\\/code> are the IDs of the documents that should be elevated for the incoming <code>q<\\\/code>. It\\u2019s important to clarify we\\u2019re not removing or disabling the filter altogether; rather, we\\u2019re broadening it to let the elevated documents through.<\\\/p>\"},\"elements\":[],\"widgetType\":\"text-editor\"},{\"id\":\"664aaab\",\"elType\":\"widget\",\"settings\":[],\"elements\":[],\"widgetType\":\"spacer\"},{\"id\":\"03098e7\",\"elType\":\"widget\",\"settings\":{\"title\":\"Caching Considerations\",\"size\":\"large\"},\"elements\":[],\"widgetType\":\"heading\"},{\"id\":\"abb0ace\",\"elType\":\"widget\",\"settings\":{\"editor\":\"<p>There are some subtleties that come up as we try to make this new feature as good as it could be. One of the advantages of using filters in Solr is that they can be very fast because they can take advantage of the filter cache. We\\u2019d hope to still benefit from filter caching when using QEC with excluded filters.<\\\/p><p>But if the user\\u2019s original filter was\\u00a0<code>fq=a:b<\\\/code> and it\\u2019s in the cache, we\\u2019re still going to get a cache miss the first time we execute the modified filter <code>fq=a:b OR (id:1 OR id:2 OR id:3)<\\\/code>.<\\\/p><p>And even if the modified filter eventually gets cached, the set of elevated documents can change for different values of <code>q<\\\/code>, so the next time the filter is applied it might be modified as <code>fq=a:b OR (id:5 OR id:6 OR id:7)<\\\/code>.<\\\/p><p>As you can see, we could start filling up the filter cache with different variants of the original filter, still without any guarantee of a cache hit for our <code>fq<\\\/code> if the accompanying <code>q<\\\/code> hasn\\u2019t been seen before.<\\\/p><p>Fortunately, Solr has a mechanism for decomposing a filter query into separate clauses that can be cached independently. This mechanism is exposed to users via the\\u00a0<a href=\\\"https:\\\/\\\/solr.apache.org\\\/guide\\\/solr\\\/latest\\\/query-guide\\\/standard-query-parser.html#differences-between-lucenes-classic-query-parser-and-solrs-standard-query-parser\\\">filter()<\\\/a> syntax. If you have a filter like <code>a:b AND c:d<\\\/code>, you can write:<\\\/p><pre style=\\\"padding-left: 40px;\\\">fq=filter(a:b) AND filter(c:d)<\\\/pre><p>This means that\\u00a0<code>a:b<\\\/code> and <code>c:d<\\\/code>\\u00a0each get their own entries in the filter cache. If we execute this <code>fq<\\\/code>, and later execute a different\\u00a0<code>fq=filter(a:b) AND filter(e:f)<\\\/code>, we can read the first clause\\u00a0<code>a:b<\\\/code>\\u00a0from the cache, even though the second clause is different.<\\\/p><p>What this means for QEC is that when we\\u2019re modifying a filter like\\u00a0<code>fq=a:b<\\\/code>\\u00a0to allow the elevated documents through, we can mark the original filter for independent caching. QEC will transform the original <code>fq<\\\/code> into the equivalent of this:<\\\/p><pre style=\\\"padding-left: 40px;\\\">fq={!cache=false}filter(a:b) OR (id:1 OR id:2 OR id:3)<\\\/pre><p>Here are the key points to notice about this strategy for modifying the filter:<\\\/p><ol><li>We set the entire modified filter to be non-caching. This prevents the cache from filling up with variants of the same filter with different sets of elevation IDs.<\\\/li><li>We wrap the user\\u2019s original <code>fq<\\\/code> in <code>filter()<\\\/code> syntax to guarantee that it is always cached as an independent clause.<\\\/li><li>We don\\u2019t wrap the elevation IDs in <code>filter()<\\\/code> syntax. The thinking is that a simple set of doc IDs is fast enough that it doesn\\u2019t benefit much from being cached.<\\\/li><\\\/ol><p>There are a few other details to consider:<\\\/p><ol><li>If the user had set their filter to be non-caching via <code> {!cache=false}<\\\/code>then we respect this and we don\\u2019t wrap their original filter in <code>filter()<\\\/code> syntax.<\\\/li><li>If the user had already wrapped their filter in <code>filter()<\\\/code> syntax, we don\\u2019t doubly wrap it.<\\\/li><li>If the user had associated a cost with a filter via <code>fq={!cost=120}<\\\/code> then we copy this cost to the top level of the new, broadened filter.<\\\/li><\\\/ol>\"},\"elements\":[],\"widgetType\":\"text-editor\"},{\"id\":\"ee62b79\",\"elType\":\"widget\",\"settings\":[],\"elements\":[],\"widgetType\":\"spacer\"},{\"id\":\"03193a4\",\"elType\":\"widget\",\"settings\":{\"title\":\"Conclusion\\n\",\"size\":\"large\"},\"elements\":[],\"widgetType\":\"heading\"},{\"id\":\"a03554a\",\"elType\":\"widget\",\"settings\":{\"editor\":\"<p>Editorial boosting is a common use case in search, but Solr\\u2019s Query Elevation Component lacked the flexibility to handle scenarios where documents should be elevated \\u201cno matter what.\\u201d We\\u00a0 hope the new support for filter exclusions in Solr 9.2 will make QEC usable in a wider range of scenarios, in a way that maintains good performance.<\\\/p><p>For further details, see:\\u00a0<a href=\\\"https:\\\/\\\/issues.apache.org\\\/jira\\\/browse\\\/SOLR-16496\\\">SOLR-16496.<\\\/a><\\\/p>\"},\"elements\":[],\"widgetType\":\"text-editor\"}],\"isInner\":\"\"},{\"id\":\"25d70f8\",\"elType\":\"column\",\"settings\":{\"_column_size\":33,\"_inline_size\":9.936,\"_inline_size_tablet\":10,\"hide_tablet\":\"hidden-tablet\",\"hide_mobile\":\"hidden-mobile\",\"thegem_column_breakpoints_list\":[]},\"elements\":[],\"isInner\":false},{\"id\":\"341a4f4\",\"elType\":\"column\",\"settings\":{\"_column_size\":33,\"_inline_size\":25.063,\"thegem_column_breakpoints_list\":[],\"content_position\":\"top\",\"margin\":{\"unit\":\"%\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"isLinked\":\"\"},\"margin_tablet\":{\"unit\":\"%\",\"top\":\"\",\"right\":\"\",\"bottom\":\"\",\"left\":\"\",\"isLinked\":\"1\"},\"margin_mobile\":{\"unit\":\"%\",\"top\":\"\",\"right\":\"\",\"bottom\":\"\",\"left\":\"\",\"isLinked\":\"1\"},\"padding\":{\"unit\":\"px\",\"top\":\"0\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"isLinked\":\"\"},\"_inline_size_tablet\":100},\"elements\":[{\"id\":\"5f9fa9e\",\"elType\":\"widget\",\"settings\":{\"title\":\"Share Post\\n\",\"header_size\":\"div\",\"typography_typography\":\"custom\",\"typography_font_family\":\"Montserrat\",\"thegem_heading_style\":\"title-h6\",\"title_color\":\"#54595F\",\"__globals__\":{\"title_color\":\"\"},\"size\":\"small\"},\"elements\":[],\"widgetType\":\"heading\"},{\"id\":\"0d6e99c\",\"elType\":\"widget\",\"settings\":{\"pinterest\":\"\",\"tumblr\":\"\",\"telegram\":\"\",\"whatsapp\":\"\",\"viber\":\"\",\"xing\":\"\",\"_margin\":{\"unit\":\"px\",\"top\":\"5\",\"right\":\"0\",\"bottom\":\"0\",\"left\":\"0\",\"isLinked\":\"\"},\"__globals__\":{\"icons_color\":\"globals\\\/colors?id=428f277\"}},\"elements\":[],\"widgetType\":\"thegem-social-sharing\"},{\"id\":\"3983c75\",\"elType\":\"widget\",\"settings\":[],\"elements\":[],\"widgetType\":\"spacer\"},{\"id\":\"ca422c7\",\"elType\":\"widget\",\"settings\":{\"title\":\"More from the KMW Blog\",\"header_size\":\"div\",\"typography_typography\":\"custom\",\"typography_font_family\":\"Montserrat\",\"thegem_heading_style\":\"title-h6\",\"title_color\":\"#54595F\",\"__globals__\":{\"title_color\":\"\"},\"size\":\"small\"},\"elements\":[],\"widgetType\":\"heading\"},{\"id\":\"16aff5a\",\"elType\":\"widget\",\"settings\":{\"thegem_elementor_preset\":\"compact-tiny-2\",\"show_date\":\"\",\"show_comments\":\"\",\"show_likes\":\"\",\"readmore_button_text\":\"Read More\",\"show_pagination\":\"\",\"loadmore_button_text\":\"Load More\",\"ignore_sticky_posts\":\"\",\"caption_categories_in_text\":\"in \",\"caption_author_by_text\":\"By\",\"exclude_blog_posts\":[\"27467\"],\"show_description\":\"\",\"source_type\":\"related\",\"pagination_type\":\"load-more-button\"},\"elements\":[],\"widgetType\":\"thegem-bloglist\"}],\"isInner\":false}],\"isInner\":\"\"},{\"id\":\"f3ee41f\",\"elType\":\"section\",\"settings\":{\"content_width\":{\"unit\":\"px\",\"size\":1260,\"sizes\":[]}},\"elements\":[{\"id\":\"f85ed8a\",\"elType\":\"column\",\"settings\":{\"_column_size\":100,\"_inline_size\":null,\"thegem_column_breakpoints_list\":[]},\"elements\":[{\"id\":\"cfbe074\",\"elType\":\"widget\",\"settings\":[],\"elements\":[],\"widgetType\":\"spacer\"},{\"id\":\"e642630\",\"elType\":\"widget\",\"settings\":{\"prev_label\":\"Previous Post\",\"next_label\":\"Next Post\",\"show_borders\":\"\",\"title_typography_typography\":\"custom\",\"title_typography_font_size\":{\"unit\":\"px\",\"size\":14,\"sizes\":[]},\"title_typography_font_weight\":\"700\",\"__globals__\":{\"arrow_color\":\"globals\\\/colors?id=primary\",\"label_color\":\"globals\\\/colors?id=secondary\"},\"arrow\":\"fa fa-caret-left\",\"show_arrow\":\"\"},\"elements\":[],\"widgetType\":\"global\",\"templateID\":\"28083\"}],\"isInner\":false}],\"isInner\":false}]"],"_sidebars_widgets":["a:8:{s:19:\"wp_inactive_widgets\";a:0:{}s:12:\"page-sidebar\";a:1:{i:0;s:21:\"custom_recent_posts-2\";}s:14:\"page-sidebar-1\";a:0:{}s:14:\"page-sidebar-2\";a:0:{}s:18:\"footer-widget-area\";a:0:{}s:12:\"shop-sidebar\";a:0:{}s:16:\"shop-widget-area\";a:0:{}s:13:\"array_version\";i:3;}"],"_elementor_edit_mode":["builder"],"_elementor_page_settings":["a:7:{s:21:\"background_background\";s:7:\"classic\";s:16:\"background_image\";a:5:{s:3:\"url\";s:72:\"https:\/\/kmwllc.com\/wp-content\/uploads\/2022\/11\/Background_BlogPosts-2.svg\";s:2:\"id\";s:5:\"27493\";s:4:\"size\";s:0:\"\";s:3:\"alt\";s:0:\"\";s:6:\"source\";s:7:\"library\";}s:15:\"background_xpos\";a:3:{s:4:\"unit\";s:2:\"px\";s:4:\"size\";s:2:\"33\";s:5:\"sizes\";a:0:{}}s:15:\"background_ypos\";a:3:{s:4:\"unit\";s:2:\"px\";s:4:\"size\";s:3:\"272\";s:5:\"sizes\";a:0:{}}s:17:\"background_repeat\";s:9:\"no-repeat\";s:15:\"background_size\";s:7:\"initial\";s:19:\"background_bg_width\";a:3:{s:4:\"unit\";s:1:\"%\";s:4:\"size\";s:2:\"24\";s:5:\"sizes\";a:0:{}}}"],"_elementor_pro_version":["3.22.1"],"thegem_popups_data":["a:2:{s:20:\"popups_layout_source\";s:7:\"default\";s:12:\"thegemPopups\";a:0:{}}"],"_last_editor_used_jetpack":["block-editor"],"_thumbnail_id":["29696"],"_yoast_wpseo_primary_category":["36"],"_yoast_wpseo_content_score":["60"],"_yoast_wpseo_estimated-reading-time-minutes":["8"],"_yoast_wpseo_wordproof_timestamp":[""],"_yoast_wpseo_title":["%%title%% %%sep%% %%sitename%%"],"_yoast_wpseo_metadesc":["New in Solr 9.2! We created a way for the Query Elevation Component to exclude filters."],"_yoast_wpseo_canonical":["https:\/\/kmwllc.com\/index.php\/2022\/11\/17\/solrs-query-elevation-component-now-supports-filter-exclusions\/"],"_oembed_f3f4578d6cbba19c9cba61f73d1d065b":["{{unknown}}"],"_elementor_controls_usage":["a:11:{s:9:\"post-info\";a:3:{s:5:\"count\";i:1;s:15:\"control_percent\";i:0;s:8:\"controls\";a:2:{s:7:\"content\";a:1:{s:12:\"section_icon\";a:1:{s:9:\"icon_list\";i:1;}}s:8:\"advanced\";a:1:{s:14:\"_section_style\";a:1:{s:7:\"_margin\";i:1;}}}}s:7:\"heading\";a:3:{s:5:\"count\";i:9;s:15:\"control_percent\";i:2;s:8:\"controls\";a:3:{s:7:\"general\";a:1:{s:11:\"__dynamic__\";a:1:{s:5:\"count\";i:1;}}s:7:\"content\";a:1:{s:13:\"section_title\";a:4:{s:5:\"title\";i:9;s:11:\"header_size\";i:3;s:20:\"thegem_heading_style\";i:3;s:4:\"size\";i:8;}}s:5:\"style\";a:1:{s:19:\"section_title_style\";a:3:{s:21:\"typography_typography\";i:2;s:22:\"typography_font_family\";i:2;s:11:\"title_color\";i:2;}}}}s:10:\"author-box\";a:3:{s:5:\"count\";i:1;s:15:\"control_percent\";i:6;s:8:\"controls\";a:3:{s:7:\"content\";a:1:{s:19:\"section_author_info\";a:5:{s:6:\"source\";i:1;s:13:\"author_avatar\";i:1;s:11:\"author_name\";i:1;s:10:\"author_bio\";i:1;s:15:\"author_name_tag\";i:1;}}s:5:\"style\";a:2:{s:19:\"section_image_style\";a:9:{s:20:\"image_vertical_align\";i:1;s:10:\"image_size\";i:1;s:9:\"image_gap\";i:1;s:12:\"image_border\";i:1;s:18:\"image_border_color\";i:1;s:18:\"image_border_width\";i:1;s:19:\"image_border_radius\";i:1;s:32:\"input_box_shadow_box_shadow_type\";i:1;s:27:\"input_box_shadow_box_shadow\";i:1;}s:18:\"section_text_style\";a:4:{s:26:\"name_typography_typography\";i:1;s:30:\"name_typography_text_transform\";i:1;s:25:\"bio_typography_typography\";i:1;s:29:\"bio_typography_text_transform\";i:1;}}s:8:\"advanced\";a:3:{s:14:\"_section_style\";a:6:{s:8:\"_padding\";i:1;s:14:\"_element_width\";i:1;s:21:\"_element_custom_width\";i:1;s:23:\"_element_vertical_align\";i:1;s:15:\"_padding_tablet\";i:1;s:15:\"_padding_mobile\";i:1;}s:15:\"_section_border\";a:3:{s:14:\"_border_radius\";i:1;s:27:\"_box_shadow_box_shadow_type\";i:1;s:22:\"_box_shadow_box_shadow\";i:1;}s:16:\"_section_masking\";a:1:{s:11:\"_mask_shape\";i:1;}}}}s:7:\"divider\";a:3:{s:5:\"count\";i:1;s:15:\"control_percent\";i:2;s:8:\"controls\";a:3:{s:7:\"content\";a:1:{s:15:\"section_divider\";a:1:{s:5:\"align\";i:1;}}s:5:\"style\";a:1:{s:21:\"section_divider_style\";a:3:{s:5:\"color\";i:1;s:6:\"weight\";i:1;s:3:\"gap\";i:1;}}s:8:\"advanced\";a:1:{s:14:\"_section_style\";a:3:{s:8:\"_padding\";i:1;s:15:\"_padding_tablet\";i:1;s:15:\"_padding_mobile\";i:1;}}}}s:6:\"spacer\";a:3:{s:5:\"count\";i:8;s:15:\"control_percent\";i:0;s:8:\"controls\";a:0:{}}s:11:\"text-editor\";a:3:{s:5:\"count\";i:6;s:15:\"control_percent\";i:0;s:8:\"controls\";a:1:{s:7:\"content\";a:1:{s:14:\"section_editor\";a:1:{s:6:\"editor\";i:6;}}}}s:6:\"column\";a:3:{s:5:\"count\";i:4;s:15:\"control_percent\";i:0;s:8:\"controls\";a:3:{s:6:\"layout\";a:1:{s:6:\"layout\";a:4:{s:21:\"space_between_widgets\";i:1;s:12:\"_inline_size\";i:4;s:16:\"content_position\";i:2;s:19:\"_inline_size_tablet\";i:3;}}s:5:\"style\";a:2:{s:13:\"section_style\";a:7:{s:21:\"background_background\";i:1;s:16:\"background_image\";i:1;s:17:\"background_repeat\";i:1;s:15:\"background_size\";i:1;s:19:\"background_bg_width\";i:1;s:19:\"background_position\";i:1;s:38:\"background_motion_fx_translateY_effect\";i:1;}s:22:\"thegem_column_parallax\";a:1:{s:24:\"thegem_parallax_activate\";i:1;}}s:8:\"advanced\";a:2:{s:16:\"section_advanced\";a:4:{s:6:\"margin\";i:2;s:13:\"margin_tablet\";i:2;s:13:\"margin_mobile\";i:2;s:7:\"padding\";i:1;}s:19:\"_section_responsive\";a:2:{s:11:\"hide_tablet\";i:1;s:11:\"hide_mobile\";i:1;}}}}s:21:\"thegem-social-sharing\";a:3:{s:5:\"count\";i:1;s:15:\"control_percent\";i:2;s:8:\"controls\";a:2:{s:7:\"content\";a:1:{s:13:\"section_icons\";a:6:{s:9:\"pinterest\";i:1;s:6:\"tumblr\";i:1;s:8:\"telegram\";i:1;s:8:\"whatsapp\";i:1;s:5:\"viber\";i:1;s:4:\"xing\";i:1;}}s:8:\"advanced\";a:1:{s:14:\"_section_style\";a:1:{s:7:\"_margin\";i:1;}}}}s:15:\"thegem-bloglist\";a:3:{s:5:\"count\";i:1;s:15:\"control_percent\";i:0;s:8:\"controls\";a:1:{s:7:\"content\";a:5:{s:14:\"section_layout\";a:1:{s:23:\"thegem_elementor_preset\";i:1;}s:15:\"section_caption\";a:4:{s:9:\"show_date\";i:1;s:13:\"show_comments\";i:1;s:10:\"show_likes\";i:1;s:16:\"show_description\";i:1;}s:18:\"section_pagination\";a:2:{s:15:\"show_pagination\";i:1;s:15:\"pagination_type\";i:1;}s:26:\"section_additional_options\";a:1:{s:19:\"ignore_sticky_posts\";i:1;}s:12:\"section_blog\";a:1:{s:18:\"exclude_blog_posts\";i:1;}}}}s:7:\"section\";a:3:{s:5:\"count\";i:2;s:15:\"control_percent\";i:0;s:8:\"controls\";a:1:{s:6:\"layout\";a:2:{s:14:\"section_layout\";a:3:{s:13:\"content_width\";i:2;s:3:\"gap\";i:1;s:16:\"content_position\";i:1;}s:17:\"section_structure\";a:1:{s:9:\"structure\";i:1;}}}}s:15:\"post-navigation\";a:3:{s:5:\"count\";i:1;s:15:\"control_percent\";i:2;s:8:\"controls\";a:2:{s:7:\"content\";a:1:{s:31:\"section_post_navigation_content\";a:5:{s:10:\"prev_label\";i:1;s:10:\"next_label\";i:1;s:12:\"show_borders\";i:1;s:5:\"arrow\";i:1;s:10:\"show_arrow\";i:1;}}s:5:\"style\";a:1:{s:11:\"title_style\";a:3:{s:27:\"title_typography_typography\";i:1;s:26:\"title_typography_font_size\";i:1;s:28:\"title_typography_font_weight\";i:1;}}}}}"],"_elementor_css":["a:6:{s:4:\"time\";i:1775577488;s:5:\"fonts\";a:1:{i:0;s:10:\"Montserrat\";}s:5:\"icons\";a:0:{}s:20:\"dynamic_elements_ids\";a:1:{i:0;s:7:\"82a3d01\";}s:6:\"status\";s:4:\"file\";i:0;s:0:\"\";}"],"_elementor_page_assets":["a:2:{s:6:\"styles\";a:10:{i:0;s:16:\"widget-post-info\";i:1;s:16:\"widget-icon-list\";i:2;s:26:\"elementor-icons-fa-regular\";i:3;s:24:\"elementor-icons-fa-solid\";i:4;s:14:\"widget-heading\";i:5;s:17:\"widget-author-box\";i:6;s:14:\"widget-divider\";i:7;s:13:\"widget-spacer\";i:8;s:15:\"thegem-bloglist\";i:9;s:22:\"widget-post-navigation\";}s:7:\"scripts\";a:5:{i:0;s:18:\"elementor-frontend\";i:1;s:23:\"thegem-items-animations\";i:2;s:11:\"thegem-blog\";i:3;s:19:\"thegem-blog-isotope\";i:4;s:15:\"post-navigation\";}}"],"_elementor_element_cache":["{\"timeout\":1775788955,\"value\":{\"content\":\"\\t\\t<section class=\\\"elementor-section elementor-top-section elementor-element elementor-element-fd34a80 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\\\" data-id=\\\"fd34a80\\\" data-element_type=\\\"section\\\" data-e-type=\\\"section\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"elementor-container elementor-column-gap-no\\\"><div class=\\\"elementor-row\\\">\\r\\n\\t\\t\\t[elementor-element k=\\\"9109a976d8649ee6d2c8fef8daebbb8b\\\" data=\\\"eyJpZCI6IjFhYzZhYTYiLCJlbFR5cGUiOiJjb2x1bW4iLCJzZXR0aW5ncyI6eyJfY29sdW1uX3NpemUiOjMzLCJ0aGVnZW1fY29sdW1uX2JyZWFrcG9pbnRzX2xpc3QiOltdLCJzcGFjZV9iZXR3ZWVuX3dpZGdldHMiOiIwIiwiYmFja2dyb3VuZF9iYWNrZ3JvdW5kIjoiY2xhc3NpYyIsImJhY2tncm91bmRfaW1hZ2UiOnsidXJsIjoiIiwiaWQiOiIiLCJhbHQiOiIiLCJzb3VyY2UiOiJsaWJyYXJ5In0sImJhY2tncm91bmRfcmVwZWF0IjoicmVwZWF0LXkiLCJiYWNrZ3JvdW5kX3NpemUiOiJpbml0aWFsIiwiYmFja2dyb3VuZF9iZ193aWR0aCI6eyJ1bml0IjoiJSIsInNpemUiOiIxNSIsInNpemVzIjpbXX0sImJhY2tncm91bmRfcG9zaXRpb24iOiJ0b3AgbGVmdCIsImJhY2tncm91bmRfbW90aW9uX2Z4X3RyYW5zbGF0ZVlfZWZmZWN0IjoieWVzIiwidGhlZ2VtX3BhcmFsbGF4X2FjdGl2YXRlIjoieWVzIiwiX2lubGluZV9zaXplIjo2NC4zMzMsImNvbnRlbnRfcG9zaXRpb24iOiJjZW50ZXIiLCJtYXJnaW4iOnsidW5pdCI6InJlbSIsInRvcCI6IiIsInJpZ2h0IjoiIiwiYm90dG9tIjoiIiwibGVmdCI6IiIsImlzTGlua2VkIjoiMSJ9LCJtYXJnaW5fdGFibGV0Ijp7InVuaXQiOiJyZW0iLCJ0b3AiOiIiLCJyaWdodCI6IiIsImJvdHRvbSI6IiIsImxlZnQiOiIiLCJpc0xpbmtlZCI6IjEifSwibWFyZ2luX21vYmlsZSI6eyJ1bml0IjoicmVtIiwidG9wIjoiIiwicmlnaHQiOiIiLCJib3R0b20iOiIiLCJsZWZ0IjoiIiwiaXNMaW5rZWQiOiIxIn0sIl9pbmxpbmVfc2l6ZV90YWJsZXQiOjEwMH0sImVsZW1lbnRzIjpbeyJpZCI6IjZhOTczM2EiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJpY29uX2xpc3QiOlt7InNlbGVjdGVkX2ljb24iOnsidmFsdWUiOiJmYXMgZmEtY2FsZW5kYXIiLCJsaWJyYXJ5IjoiZmEtc29saWQifSwiY3VzdG9tX2RhdGVfZm9ybWF0IjoiRiBqLCBZIiwiY3VzdG9tX3RpbWVfZm9ybWF0IjoiZzppIGEiLCJsaW5rIjoiIiwic2hvd19pY29uIjoibm9uZSIsIl9pZCI6Ijk1YjEwMzkifV0sIl9tYXJnaW4iOnsidW5pdCI6InB4IiwidG9wIjoiMCIsInJpZ2h0IjoiMCIsImJvdHRvbSI6IjUiLCJsZWZ0IjoiMCIsImlzTGlua2VkIjoiIn0sIl9fZ2xvYmFsc19fIjp7InRleHRfY29sb3IiOiJnbG9iYWxzXC9jb2xvcnM\\\/aWQ9cHJpbWFyeSJ9fSwiZWxlbWVudHMiOltdLCJ3aWRnZXRUeXBlIjoicG9zdC1pbmZvIn0seyJpZCI6IjgyYTNkMDEiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJ0aXRsZSI6IkFkZCBZb3VyIEhlYWRpbmcgVGV4dCBIZXJlIiwiaGVhZGVyX3NpemUiOiJkaXYiLCJ0aGVnZW1faGVhZGluZ19zdHlsZSI6InN0eWxlZC1zdWJ0aXRsZSIsIl9fZHluYW1pY19fIjp7InRpdGxlIjoiW2VsZW1lbnRvci10YWcgaWQ9XCIwNzYwNTkwXCIgbmFtZT1cInRoZWdlbS1wb3N0LWV4Y2VycHRcIiBzZXR0aW5ncz1cIiU3QiU3RFwiXSJ9fSwiZWxlbWVudHMiOltdLCJ3aWRnZXRUeXBlIjoiaGVhZGluZyJ9LHsiaWQiOiIxNTZiM2M0IiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOnsic291cmNlIjoiY3VzdG9tIiwiYXV0aG9yX2F2YXRhciI6eyJ1cmwiOiJodHRwczpcL1wva213bGxjLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyMVwvMDJcL1J1ZGkucG5nIiwiaWQiOiIyNTU1NSIsImFsdCI6IiIsInNvdXJjZSI6ImxpYnJhcnkifSwiYXV0aG9yX25hbWUiOiJSdWRpIFNlaXR6IiwiYXV0aG9yX2JpbyI6IlNvbHIgQ29udHJpYnV0b3IgJmFtcDsgU2VuaW9yIFNlYXJjaCBFbmdpbmVlciBhdCBLTVcgVGVjaG5vbG9nb3kiLCJsaW5rX3RleHQiOiJBbGwgUG9zdHMiLCJpbWFnZV92ZXJ0aWNhbF9hbGlnbiI6Im1pZGRsZSIsImltYWdlX3NpemUiOnsidW5pdCI6InB4Iiwic2l6ZSI6IjEwMCIsInNpemVzIjpbXX0sImltYWdlX2dhcCI6eyJ1bml0IjoicHgiLCJzaXplIjoiMTQiLCJzaXplcyI6W119LCJpbWFnZV9ib3JkZXIiOiJ5ZXMiLCJpbWFnZV9ib3JkZXJfY29sb3IiOiIjMDBERUZGNjMiLCJpbWFnZV9ib3JkZXJfd2lkdGgiOnsidW5pdCI6InB4Iiwic2l6ZSI6IjMiLCJzaXplcyI6W119LCJpbWFnZV9ib3JkZXJfcmFkaXVzIjp7InVuaXQiOiJweCIsInNpemUiOiI0NiIsInNpemVzIjpbXX0sImlucHV0X2JveF9zaGFkb3dfYm94X3NoYWRvd190eXBlIjoieWVzIiwiaW5wdXRfYm94X3NoYWRvd19ib3hfc2hhZG93Ijp7Imhvcml6b250YWwiOiIwIiwidmVydGljYWwiOiIwIiwiYmx1ciI6IjAiLCJzcHJlYWQiOiIwIiwiY29sb3IiOiJyZ2JhKDAsMCwwLDAuNSkifSwiX3BhZGRpbmciOnsidW5pdCI6ImVtIiwidG9wIjoiMiIsInJpZ2h0IjoiMiIsImJvdHRvbSI6IjIiLCJsZWZ0IjoiMiIsImlzTGlua2VkIjoiMSJ9LCJfZWxlbWVudF93aWR0aCI6ImluaGVyaXQiLCJfZWxlbWVudF9jdXN0b21fd2lkdGgiOnsidW5pdCI6IiUiLCJzaXplIjoiNjAiLCJzaXplcyI6W119LCJfYm9yZGVyX3JhZGl1cyI6eyJ1bml0IjoicHgiLCJ0b3AiOiIyNiIsInJpZ2h0IjoiMjYiLCJib3R0b20iOiIyNiIsImxlZnQiOiIyNiIsImlzTGlua2VkIjoiMSJ9LCJfYm94X3NoYWRvd19ib3hfc2hhZG93X3R5cGUiOiJ5ZXMiLCJfYm94X3NoYWRvd19ib3hfc2hhZG93Ijp7Imhvcml6b250YWwiOiIwIiwidmVydGljYWwiOiIwIiwiYmx1ciI6IjAiLCJzcHJlYWQiOiIwIiwiY29sb3IiOiJyZ2JhKDAsMCwwLDAuNSkifSwiX21hc2tfc2hhcGUiOiJibG9iIiwiX19nbG9iYWxzX18iOnsiX2JhY2tncm91bmRfY29sb3IiOiJnbG9iYWxzXC9jb2xvcnM\\\/aWQ9cHJpbWFyeSJ9LCJfZWxlbWVudF92ZXJ0aWNhbF9hbGlnbiI6ImNlbnRlciIsImF1dGhvcl9uYW1lX3RhZyI6Img2IiwibmFtZV90eXBvZ3JhcGh5X3R5cG9ncmFwaHkiOiJjdXN0b20iLCJuYW1lX3R5cG9ncmFwaHlfdGV4dF90cmFuc2Zvcm0iOiJub25lIiwiYmlvX3R5cG9ncmFwaHlfdHlwb2dyYXBoeSI6ImN1c3RvbSIsImJpb190eXBvZ3JhcGh5X3RleHRfdHJhbnNmb3JtIjoibm9uZSIsIl9wYWRkaW5nX3RhYmxldCI6eyJ1bml0IjoiZW0iLCJ0b3AiOiIiLCJyaWdodCI6IiIsImJvdHRvbSI6IiIsImxlZnQiOiIiLCJpc0xpbmtlZCI6IjEifSwiX3BhZGRpbmdfbW9iaWxlIjp7InVuaXQiOiJlbSIsInRvcCI6IiIsInJpZ2h0IjoiIiwiYm90dG9tIjoiIiwibGVmdCI6IiIsImlzTGlua2VkIjoiMSJ9fSwiZWxlbWVudHMiOltdLCJ3aWRnZXRUeXBlIjoiYXV0aG9yLWJveCJ9LHsiaWQiOiJjYjhkNmZiIiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOnsiYWxpZ24iOiJjZW50ZXIiLCJ0ZXh0IjoiRGl2aWRlciIsImNvbG9yIjoiIzAwREVGRiIsIndlaWdodCI6eyJ1bml0IjoicHgiLCJzaXplIjoiMyIsInNpemVzIjpbXX0sIl9wYWRkaW5nIjp7InVuaXQiOiJlbSIsInRvcCI6IjAiLCJyaWdodCI6IjAiLCJib3R0b20iOiIwIiwibGVmdCI6IjAiLCJpc0xpbmtlZCI6IjEifSwiZ2FwIjp7InVuaXQiOiJweCIsInNpemUiOiIwIiwic2l6ZXMiOltdfSwiX3BhZGRpbmdfdGFibGV0Ijp7InVuaXQiOiJlbSIsInRvcCI6IiIsInJpZ2h0IjoiIiwiYm90dG9tIjoiIiwibGVmdCI6IiIsImlzTGlua2VkIjoiMSJ9LCJfcGFkZGluZ19tb2JpbGUiOnsidW5pdCI6ImVtIiwidG9wIjoiIiwicmlnaHQiOiIiLCJib3R0b20iOiIiLCJsZWZ0IjoiIiwiaXNMaW5rZWQiOiIxIn19LCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJkaXZpZGVyIn0seyJpZCI6IjU4ZTVhZjEiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6W10sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InNwYWNlciJ9LHsiaWQiOiI4YTc2MTBiIiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOnsidGl0bGUiOiJUaGUgUHJvYmxlbSIsInNpemUiOiJsYXJnZSJ9LCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJoZWFkaW5nIn0seyJpZCI6IjgzOWU3MjYiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJlZGl0b3IiOiI8cD5JZiB5b3UndmUgZXZlciBuZWVkZWQgdG8gZWRpdG9yaWFsbHkgb3ZlcnJpZGUgdGhlIHRvcCByZXN1bHRzIGZvciBhIFNvbHIgcXVlcnksIHlvdSd2ZSBwcm9iYWJseSBsb29rZWQgYXQgdGhlIFF1ZXJ5IEVsZXZhdGlvbiBDb21wb25lbnQgKFFFQykuIFVzaW5nIFFFQywgeW91IGNhbiBpbmRpY2F0ZSB0aGF0IGNlcnRhaW4gZG9jdW1lbnRzIHNob3VsZCBhcHBlYXIgYXMgdG9wIHJlc3VsdHMgZm9yIGEgZ2l2ZW4gcXVlcnksIGV2ZW4gaWYgdGhvc2UgZG9jdW1lbnRzIHdvdWxkIGhhdmUgaGFkIGEgbG93ZXIgcG9zaXRpb24gYmFzZWQgb24gbmF0dXJhbCBzY29yaW5nLCBvciB3b3VsZCBoYXZlIGJlZW4gYWJzZW50IGVudGlyZWx5LjxcL3A+XG48cD5JbiBTb2xyIDkuMSBhbmQgYmVmb3JlLCBmaWx0ZXJzIGFsd2F5cyB0b29rIHByZWNlZGVuY2Ugb3ZlciBlbGV2YXRpb24uIEZvciBleGFtcGxlLCB5b3UgbWlnaHQgaGF2ZSBjb25maWd1cmVkIFFFQyB0byByZXR1cm4gdGhlIGRvY3VtZW50IHdpdGggPGNvZGU+aWQ9MTxcL2NvZGU+IHdoZW5ldmVyIGEgdXNlciBzZWFyY2hlZCBmb3IgPGNvZGU+Zm9vPFwvY29kZT4uIEhvd2V2ZXIsIGlmIHRoZSBxdWVyeSBhbHNvIGluY2x1ZGVkIGFuIFwiaW4gc3RvY2tcIiBmaWx0ZXIsIGxpa2UgdGhpczo8XC9wPlxuPHByZSBzdHlsZT1cInBhZGRpbmctbGVmdDogNDBweDtcIj5xPWZvb1xuZnE9aW5fc3RvY2s6dHJ1ZTxcL3ByZT5cbjxwPnRoZW4mbmJzcDs8Y29kZT5pZD0xPFwvY29kZT4mbmJzcDt3b3VsZCBvbmx5IGJlIGVsZXZhdGVkIGlmIGl0IGhhcHBlbmVkIHRvIGJlIGluIHN0b2NrLjxcL3A+XG48cD5PZiBjb3Vyc2UsIHRoaXMmbmJzcDs8ZW0+bWlnaHQ8XC9lbT4gaGF2ZSBiZWVuIHRoZSBiZWhhdmlvciB5b3Ugd2FudGVkLiBCdXQgd2hhdCBpZiB5b3UgbmVlZGVkIHRvIGVsZXZhdGUgb3V0LW9mLXN0b2NrIGl0ZW1zIHRvbyBcdTIwMTMgbWF5YmUgc28geW91IGNvdWxkIGFjY2VwdCBwcmVvcmRlcnM\\\/IFdlIGhhZCBhIGN1c3RvbWVyIHdobyB3YW50ZWQgdG8gc3VwcG9ydCB0aGlzIHVzZSBjYXNlIFx1MjAxMyBhcHBseWluZyBhbiA8Y29kZT5mcTxcL2NvZGU+IHRvIG5vbi1lbGV2YXRlZCBkb2N1bWVudHMgYnV0IGJ5cGFzc2luZyB0aGUgc2FtZSA8Y29kZT5mcTxcL2NvZGU+IGZvciBlbGV2YXRlZCBkb2N1bWVudHMuIFRoZXJlIHdhc24ndCBhIHdheSB0byBkbyB0aGlzLCBzbyB3ZSBpbXBsZW1lbnRlZCB0aGUgZmVhdHVyZS48XC9wPiJ9LCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJ0ZXh0LWVkaXRvciJ9LHsiaWQiOiJkN2IxNjgxIiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOltdLCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJzcGFjZXIifSx7ImlkIjoiMGIyNDE0NyIsImVsVHlwZSI6IndpZGdldCIsInNldHRpbmdzIjp7InRpdGxlIjoiVGhlIFNvbHV0aW9uIGluIFNvbHIgOS4yIiwic2l6ZSI6ImxhcmdlIn0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6ImhlYWRpbmcifSx7ImlkIjoiMjRmN2ZlZSIsImVsVHlwZSI6IndpZGdldCIsInNldHRpbmdzIjp7ImVkaXRvciI6IjxwPlN0YXJ0aW5nIGluIFNvbHIgOS4yLCBRRUMgc3VwcG9ydHMgZmlsdGVyIGV4Y2x1c2lvbnMuIFlvdSBjYW4gdXNlIHRoZSBmb2xsb3dpbmcgc3ludGF4IHRvIGFzc2lnbiB0YWdzIHRvIHNwZWNpZmljIGZpbHRlcnMgYW5kIHRvIGluZGljYXRlIHRoYXQgUUVDIHNob3VsZCBsZXQgZWxldmF0ZWQgZG9jdW1lbnRzIGJ5cGFzcyB0aG9zZSB0YWdnZWQgZmlsdGVycy48XC9wPjxwcmUgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDQwcHg7XCI+cT1mb29cbmZxPXshdGFnPXQxfWluX3N0b2NrOnRydWVcbmVsZXZhdGUuZXhjbHVkZVRhZ3M9dDE8XC9wcmU+PHA+VGhlIGV4YW1wbGUgYWJvdmUgYXNzaWducyB0aGUgdGFnIDxjb2RlPnQxPFwvY29kZT4gdG8gdGhlIFwiaW4gc3RvY2tcIiBmaWx0ZXIgYW5kIGV4Y2x1ZGVzIGl0IGZvciBlbGV2YXRlZCBkb2N1bWVudHMuIE5vdGUgdGhhdCB0aGUgc3ludGF4IGlzIHNpbWlsYXIgdG8gdGhlIHdheSB5b3UgY2FuIDxhIGhyZWY9XCJodHRwczpcL1wvc29sci5hcGFjaGUub3JnXC9ndWlkZVwvc29sclwvbGF0ZXN0XC9xdWVyeS1ndWlkZVwvZmFjZXRpbmcuaHRtbCN0YWdnaW5nLWFuZC1leGNsdWRpbmctZmlsdGVyc1wiPnRhZyBhbmQgZXhjbHVkZSBmaWx0ZXJzIHdoaWxlIGZhY2V0aW5nPFwvYT4uPFwvcD48cD5JbiB0aGUgcmVzdCBvZiB0aGlzIHBvc3QsIHdlXHUyMDE5bGwgZGlzY3VzcyB0aGUgaW1wbGVtZW50YXRpb24gZGV0YWlscyBvZiBRRUNcdTIwMTlzIG5ldyBmaWx0ZXIgZXhjbHVzaW9uIGZlYXR1cmUuIFRvIHVuZGVyc3RhbmQgdGhvc2UgZGV0YWlscywgd2UgZmlyc3QgbmVlZCB0byB1bmRlcnN0YW5kIFFFQ1x1MjAxOXMgYmFzaWMgZGVzaWduLjxcL3A+In0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InRleHQtZWRpdG9yIn0seyJpZCI6IjFmNTk3ZWYiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6W10sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InNwYWNlciJ9LHsiaWQiOiI1NTAwZWRkIiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOnsidGl0bGUiOiJRRUMgRGVzaWduIEJhY2tncm91bmQiLCJzaXplIjoibGFyZ2UifSwiZWxlbWVudHMiOltdLCJ3aWRnZXRUeXBlIjoiaGVhZGluZyJ9LHsiaWQiOiI5ODYyMmM2IiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOnsiZWRpdG9yIjoiPHA+SWYgeW91IHdlcmUgYnVpbGRpbmcgdGhlIFF1ZXJ5IEVsZXZhdGlvbiBDb21wb25lbnQgZnJvbSBzY3JhdGNoLCB5b3VyIGZpcnN0IHRob3VnaHQgbWlnaHQgYmUgdG8gdXNlIGFuIGFkZGl0aXZlIGFwcHJvYWNoLiBUaGUgY29tcG9uZW50IHdvdWxkIHJ1biB0aGUgdXNlclx1MjAxOXMgcXVlcnkgdG8gZ2V0IGFuIGluaXRpYWwgcmVzdWx0IHNldC4gVGhlbiBpdCB3b3VsZCBydW4gYSBzZWNvbmQgcXVlcnkgdG8gcmV0cmlldmUgdGhlIGVsZXZhdGVkIGRvY3VtZW50cy4gRmluYWxseSBpdCB3b3VsZCBtZXJnZSB0aG9zZSB0d28gcmVzdWx0cyBzZXRzLCBwbGFjaW5nIHRoZSBlbGV2YXRlZCBkb2N1bWVudHMgb24gdG9wLjxcL3A+PHA+VGhlcmUgYXJlIGEgZmV3IGRyYXdiYWNrcyB0byB0aGlzIHBvc3NpYmxlIGRlc2lnbi4gRmlyc3QsIHdlXHUyMDE5ZCBiZSBpbmN1cnJpbmcgdGhlIG92ZXJoZWFkIG9mIHJ1bm5pbmcgdHdvIHF1ZXJpZXMgaW5zdGVhZCBvZiBvbmUuIFNlY29uZCwgd2VcdTIwMTlkIGhhdmUgdG8gZmluZCBhIHdheSBvZiBwcmV2ZW50aW5nIGR1cGxpY2F0ZXMuIFdlIGRvblx1MjAxOXQgd2FudCB0byBpbmNsdWRlIGFueSBkb2N1bWVudCBpbiB0aGUgcmVzdWx0IHNldCA8ZW0+dHdpY2U8XC9lbT4sIHNvIHdlXHUyMDE5ZCBoYXZlIHRvIGZpZ3VyZSBvdXQgaWYgYW4gZWxldmF0ZWQgZG9jdW1lbnQgZXhpc3RlZCBpbiB0aGUgb3JpZ2luYWwgcmVzdWx0IHNldCBiZWZvcmUgd2UgY291bGQgYWRkIGl0LiBJZiBhbiBlbGV2YXRlZCBkb2N1bWVudCB0dXJuZWQgb3V0IHRvIGJlIHByZXNlbnQgYWxyZWFkeSwgd2VcdTIwMTlkIG5lZWQgYSB3YXkgb2YgbW92aW5nIGl0IHRvIHRoZSB0b3AuIEFuZCB0aGlyZCwgd2VcdTIwMTlkIG5lZWQgdG8gZmluZCBhIHdheSBvZiBpbnNlcnRpbmcgdGhlIGVsZXZhdGVkIGRvY3VtZW50cyBpbnRvIGZhY2V0cyBhcyB3ZWxsIGFzIHRoZSBwcmltYXJ5IHJlc3VsdCBzZXQuPFwvcD48cD5UbyBhdm9pZCBhbGwgdGhlc2UgY29tcGxpY2F0aW9ucywgUUVDIHRha2VzIGEgZGlmZmVyZW50IGFwcHJvYWNoOjxcL3A+PG9sPjxsaT5JdCBicm9hZGVucyB0aGUgdXNlcidzIG9yaWdpbmFsIHF1ZXJ5IHRvIG1ha2Ugc3VyZSB0aGF0IGl0IG1hdGNoZXMgYWxsIHRoZSBlbGV2YXRlZCBkb2N1bWVudHMuIFRoZSBicm9hZGVuZWQgcXVlcnkgaXMgYSBCb29sZWFuIE9SIG9mIHRoZSBvcmlnaW5hbCBxdWVyeSB3aXRoIGEgZGlzanVuY3Rpb24gYWNyb3NzIHRoZSBlbGV2YXRlZCBkb2N1bWVudCBJRHMuIFNvIGlmIHRoZSBvcmlnaW5hbCBxdWVyeSB3YXMgPGNvZGU+cT1YWVo8XC9jb2RlPiwgdGhlIG5ldyBxdWVyeSB3b3VsZCBiZSBzb21ldGhpbmcgbGlrZSA8Y29kZT5xPVhZWiBPUiAoaWQ6MSBPUiBpZDoyIE9SIGlkOjMpPFwvY29kZT4uPGNvZGU+PFwvY29kZT48XC9saT48bGk+SXQgYWRkcyBhIG5ldyBzb3J0IGNyaXRlcmlvbiB0byB0aGUgcXVlcnkgdGhhdCBtYWtlcyB0aGUgZWxldmF0ZWQgZG9jcyBhcHBlYXIgYXQgdGhlIHRvcCBvZiB0aGUgc29ydCBvcmRlci48XC9saT48XC9vbD48cD5UaGlzIGFwcHJvYWNoIGFsbG93cyBRRUMgdG8gYWNoaWV2ZSBpdHMgZ29hbHMgd2l0aCBhIHNpbmdsZSBxdWVyeSwgZWxpbWluYXRpbmcgdGhlIGNvbXBsZXggcGllY2luZy10b2dldGhlciBvZiBtdWx0aXBsZSBxdWVyaWVzLiBCdXQgZWFybGllciB2ZXJzaW9ucyBvZiBRRUMgYXBwbGllZCB0aGlzIHN0cmF0ZWd5IHRvIHRoZSA8Y29kZT5xPFwvY29kZT4gcGFyYW1ldGVyIG9ubHksIGxlYXZpbmcgYWxsIDxjb2RlPmZxPFwvY29kZT4gaW5zdGFuY2VzIHVubW9kaWZpZWQuIFNpbmNlIDxjb2RlPmZxPFwvY29kZT4gYWx3YXlzIHRha2UgcHJlY2VkZW5jZSBvdmVyIDxjb2RlPnE8XC9jb2RlPiBpbiBTb2xyLCBlbGV2YXRlZCBkb2N1bWVudHMgc3RpbGwgaGFkIHRvIG1hdGNoIHRoZSBmaWx0ZXJzIGluIG9yZGVyIHRvIGJlIGluY2x1ZGVkLjxcL3A+In0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InRleHQtZWRpdG9yIn0seyJpZCI6IjU0NDU0NWYiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6W10sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InNwYWNlciJ9LHsiaWQiOiI3N2Y5MjZhIiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOnsidGl0bGUiOiJJbXBsZW1lbnRpbmcgRXhjbHVzaW9ucyIsInNpemUiOiJsYXJnZSJ9LCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJoZWFkaW5nIn0seyJpZCI6IjJiMjQxYTIiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJlZGl0b3IiOiI8cD5UbyBpbXByb3ZlIFFFQyBzbyB0aGF0IGVsZXZhdGVkIGRvY3VtZW50cyBjYW4gYnlwYXNzIHNwZWNpZmljIGZpbHRlcnMsIHdlIGNhbiByZXVzZSB0aGUgc2FtZSBzdHJhdGVneSB0aGF0IFFFQyBhcHBsaWVzIHRvIHRoZSBwcmltYXJ5IHF1ZXJ5LiBJbmRlZWQsIHRoYXRcdTIwMTlzIGhvdyBvdXIgU29sciA5LjIgY2hhbmdlcyB3b3JrLiBUbyBcdTIwMWNleGNsdWRlXHUyMDFkIGEgZ2l2ZW4gZmlsdGVyLCB3ZSB0cmFuc2Zvcm0gaXQgaW50byBhIEJvb2xlYW4gT1Igb2YgdGhlIG9yaWdpbmFsIGZpbHRlciB3aXRoIGEgZGlzanVuY3Rpb24gYWNyb3NzIHRoZSBlbGV2YXRlZCBkb2N1bWVudCBJRHMuIFNvIGEgZmlsdGVyIGxpa2VcdTAwYTA8Y29kZT5mcT1hOmI8XC9jb2RlPlx1MDBhMHdvdWxkIGJlY29tZTxcL3A+PHByZSBzdHlsZT1cInBhZGRpbmctbGVmdDogNDBweDtcIj5mcT1hOmIgT1IgKGlkOjEgT1IgaWQ6MiBPUiBpZDMpPFwvcHJlPjxwPndoZXJlIGFuZCA8Y29kZT4xPFwvY29kZT4sIDxjb2RlPjI8XC9jb2RlPiwgPGNvZGU+MzxcL2NvZGU+IGFyZSB0aGUgSURzIG9mIHRoZSBkb2N1bWVudHMgdGhhdCBzaG91bGQgYmUgZWxldmF0ZWQgZm9yIHRoZSBpbmNvbWluZyA8Y29kZT5xPFwvY29kZT4uIEl0XHUyMDE5cyBpbXBvcnRhbnQgdG8gY2xhcmlmeSB3ZVx1MjAxOXJlIG5vdCByZW1vdmluZyBvciBkaXNhYmxpbmcgdGhlIGZpbHRlciBhbHRvZ2V0aGVyOyByYXRoZXIsIHdlXHUyMDE5cmUgYnJvYWRlbmluZyBpdCB0byBsZXQgdGhlIGVsZXZhdGVkIGRvY3VtZW50cyB0aHJvdWdoLjxcL3A+In0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InRleHQtZWRpdG9yIn0seyJpZCI6IjY2NGFhYWIiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6W10sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InNwYWNlciJ9LHsiaWQiOiIwMzA5OGU3IiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOnsidGl0bGUiOiJDYWNoaW5nIENvbnNpZGVyYXRpb25zIiwic2l6ZSI6ImxhcmdlIn0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6ImhlYWRpbmcifSx7ImlkIjoiYWJiMGFjZSIsImVsVHlwZSI6IndpZGdldCIsInNldHRpbmdzIjp7ImVkaXRvciI6IjxwPlRoZXJlIGFyZSBzb21lIHN1YnRsZXRpZXMgdGhhdCBjb21lIHVwIGFzIHdlIHRyeSB0byBtYWtlIHRoaXMgbmV3IGZlYXR1cmUgYXMgZ29vZCBhcyBpdCBjb3VsZCBiZS4gT25lIG9mIHRoZSBhZHZhbnRhZ2VzIG9mIHVzaW5nIGZpbHRlcnMgaW4gU29sciBpcyB0aGF0IHRoZXkgY2FuIGJlIHZlcnkgZmFzdCBiZWNhdXNlIHRoZXkgY2FuIHRha2UgYWR2YW50YWdlIG9mIHRoZSBmaWx0ZXIgY2FjaGUuIFdlXHUyMDE5ZCBob3BlIHRvIHN0aWxsIGJlbmVmaXQgZnJvbSBmaWx0ZXIgY2FjaGluZyB3aGVuIHVzaW5nIFFFQyB3aXRoIGV4Y2x1ZGVkIGZpbHRlcnMuPFwvcD48cD5CdXQgaWYgdGhlIHVzZXJcdTIwMTlzIG9yaWdpbmFsIGZpbHRlciB3YXNcdTAwYTA8Y29kZT5mcT1hOmI8XC9jb2RlPiBhbmQgaXRcdTIwMTlzIGluIHRoZSBjYWNoZSwgd2VcdTIwMTlyZSBzdGlsbCBnb2luZyB0byBnZXQgYSBjYWNoZSBtaXNzIHRoZSBmaXJzdCB0aW1lIHdlIGV4ZWN1dGUgdGhlIG1vZGlmaWVkIGZpbHRlciA8Y29kZT5mcT1hOmIgT1IgKGlkOjEgT1IgaWQ6MiBPUiBpZDozKTxcL2NvZGU+LjxcL3A+PHA+QW5kIGV2ZW4gaWYgdGhlIG1vZGlmaWVkIGZpbHRlciBldmVudHVhbGx5IGdldHMgY2FjaGVkLCB0aGUgc2V0IG9mIGVsZXZhdGVkIGRvY3VtZW50cyBjYW4gY2hhbmdlIGZvciBkaWZmZXJlbnQgdmFsdWVzIG9mIDxjb2RlPnE8XC9jb2RlPiwgc28gdGhlIG5leHQgdGltZSB0aGUgZmlsdGVyIGlzIGFwcGxpZWQgaXQgbWlnaHQgYmUgbW9kaWZpZWQgYXMgPGNvZGU+ZnE9YTpiIE9SIChpZDo1IE9SIGlkOjYgT1IgaWQ6Nyk8XC9jb2RlPi48XC9wPjxwPkFzIHlvdSBjYW4gc2VlLCB3ZSBjb3VsZCBzdGFydCBmaWxsaW5nIHVwIHRoZSBmaWx0ZXIgY2FjaGUgd2l0aCBkaWZmZXJlbnQgdmFyaWFudHMgb2YgdGhlIG9yaWdpbmFsIGZpbHRlciwgc3RpbGwgd2l0aG91dCBhbnkgZ3VhcmFudGVlIG9mIGEgY2FjaGUgaGl0IGZvciBvdXIgPGNvZGU+ZnE8XC9jb2RlPiBpZiB0aGUgYWNjb21wYW55aW5nIDxjb2RlPnE8XC9jb2RlPiBoYXNuXHUyMDE5dCBiZWVuIHNlZW4gYmVmb3JlLjxcL3A+PHA+Rm9ydHVuYXRlbHksIFNvbHIgaGFzIGEgbWVjaGFuaXNtIGZvciBkZWNvbXBvc2luZyBhIGZpbHRlciBxdWVyeSBpbnRvIHNlcGFyYXRlIGNsYXVzZXMgdGhhdCBjYW4gYmUgY2FjaGVkIGluZGVwZW5kZW50bHkuIFRoaXMgbWVjaGFuaXNtIGlzIGV4cG9zZWQgdG8gdXNlcnMgdmlhIHRoZVx1MDBhMDxhIGhyZWY9XCJodHRwczpcL1wvc29sci5hcGFjaGUub3JnXC9ndWlkZVwvc29sclwvbGF0ZXN0XC9xdWVyeS1ndWlkZVwvc3RhbmRhcmQtcXVlcnktcGFyc2VyLmh0bWwjZGlmZmVyZW5jZXMtYmV0d2Vlbi1sdWNlbmVzLWNsYXNzaWMtcXVlcnktcGFyc2VyLWFuZC1zb2xycy1zdGFuZGFyZC1xdWVyeS1wYXJzZXJcIj5maWx0ZXIoKTxcL2E+IHN5bnRheC4gSWYgeW91IGhhdmUgYSBmaWx0ZXIgbGlrZSA8Y29kZT5hOmIgQU5EIGM6ZDxcL2NvZGU+LCB5b3UgY2FuIHdyaXRlOjxcL3A+PHByZSBzdHlsZT1cInBhZGRpbmctbGVmdDogNDBweDtcIj5mcT1maWx0ZXIoYTpiKSBBTkQgZmlsdGVyKGM6ZCk8XC9wcmU+PHA+VGhpcyBtZWFucyB0aGF0XHUwMGEwPGNvZGU+YTpiPFwvY29kZT4gYW5kIDxjb2RlPmM6ZDxcL2NvZGU+XHUwMGEwZWFjaCBnZXQgdGhlaXIgb3duIGVudHJpZXMgaW4gdGhlIGZpbHRlciBjYWNoZS4gSWYgd2UgZXhlY3V0ZSB0aGlzIDxjb2RlPmZxPFwvY29kZT4sIGFuZCBsYXRlciBleGVjdXRlIGEgZGlmZmVyZW50XHUwMGEwPGNvZGU+ZnE9ZmlsdGVyKGE6YikgQU5EIGZpbHRlcihlOmYpPFwvY29kZT4sIHdlIGNhbiByZWFkIHRoZSBmaXJzdCBjbGF1c2VcdTAwYTA8Y29kZT5hOmI8XC9jb2RlPlx1MDBhMGZyb20gdGhlIGNhY2hlLCBldmVuIHRob3VnaCB0aGUgc2Vjb25kIGNsYXVzZSBpcyBkaWZmZXJlbnQuPFwvcD48cD5XaGF0IHRoaXMgbWVhbnMgZm9yIFFFQyBpcyB0aGF0IHdoZW4gd2VcdTIwMTlyZSBtb2RpZnlpbmcgYSBmaWx0ZXIgbGlrZVx1MDBhMDxjb2RlPmZxPWE6YjxcL2NvZGU+XHUwMGEwdG8gYWxsb3cgdGhlIGVsZXZhdGVkIGRvY3VtZW50cyB0aHJvdWdoLCB3ZSBjYW4gbWFyayB0aGUgb3JpZ2luYWwgZmlsdGVyIGZvciBpbmRlcGVuZGVudCBjYWNoaW5nLiBRRUMgd2lsbCB0cmFuc2Zvcm0gdGhlIG9yaWdpbmFsIDxjb2RlPmZxPFwvY29kZT4gaW50byB0aGUgZXF1aXZhbGVudCBvZiB0aGlzOjxcL3A+PHByZSBzdHlsZT1cInBhZGRpbmctbGVmdDogNDBweDtcIj5mcT17IWNhY2hlPWZhbHNlfWZpbHRlcihhOmIpIE9SIChpZDoxIE9SIGlkOjIgT1IgaWQ6Myk8XC9wcmU+PHA+SGVyZSBhcmUgdGhlIGtleSBwb2ludHMgdG8gbm90aWNlIGFib3V0IHRoaXMgc3RyYXRlZ3kgZm9yIG1vZGlmeWluZyB0aGUgZmlsdGVyOjxcL3A+PG9sPjxsaT5XZSBzZXQgdGhlIGVudGlyZSBtb2RpZmllZCBmaWx0ZXIgdG8gYmUgbm9uLWNhY2hpbmcuIFRoaXMgcHJldmVudHMgdGhlIGNhY2hlIGZyb20gZmlsbGluZyB1cCB3aXRoIHZhcmlhbnRzIG9mIHRoZSBzYW1lIGZpbHRlciB3aXRoIGRpZmZlcmVudCBzZXRzIG9mIGVsZXZhdGlvbiBJRHMuPFwvbGk+PGxpPldlIHdyYXAgdGhlIHVzZXJcdTIwMTlzIG9yaWdpbmFsIDxjb2RlPmZxPFwvY29kZT4gaW4gPGNvZGU+ZmlsdGVyKCk8XC9jb2RlPiBzeW50YXggdG8gZ3VhcmFudGVlIHRoYXQgaXQgaXMgYWx3YXlzIGNhY2hlZCBhcyBhbiBpbmRlcGVuZGVudCBjbGF1c2UuPFwvbGk+PGxpPldlIGRvblx1MjAxOXQgd3JhcCB0aGUgZWxldmF0aW9uIElEcyBpbiA8Y29kZT5maWx0ZXIoKTxcL2NvZGU+IHN5bnRheC4gVGhlIHRoaW5raW5nIGlzIHRoYXQgYSBzaW1wbGUgc2V0IG9mIGRvYyBJRHMgaXMgZmFzdCBlbm91Z2ggdGhhdCBpdCBkb2Vzblx1MjAxOXQgYmVuZWZpdCBtdWNoIGZyb20gYmVpbmcgY2FjaGVkLjxcL2xpPjxcL29sPjxwPlRoZXJlIGFyZSBhIGZldyBvdGhlciBkZXRhaWxzIHRvIGNvbnNpZGVyOjxcL3A+PG9sPjxsaT5JZiB0aGUgdXNlciBoYWQgc2V0IHRoZWlyIGZpbHRlciB0byBiZSBub24tY2FjaGluZyB2aWEgPGNvZGU+IHshY2FjaGU9ZmFsc2V9PFwvY29kZT50aGVuIHdlIHJlc3BlY3QgdGhpcyBhbmQgd2UgZG9uXHUyMDE5dCB3cmFwIHRoZWlyIG9yaWdpbmFsIGZpbHRlciBpbiA8Y29kZT5maWx0ZXIoKTxcL2NvZGU+IHN5bnRheC48XC9saT48bGk+SWYgdGhlIHVzZXIgaGFkIGFscmVhZHkgd3JhcHBlZCB0aGVpciBmaWx0ZXIgaW4gPGNvZGU+ZmlsdGVyKCk8XC9jb2RlPiBzeW50YXgsIHdlIGRvblx1MjAxOXQgZG91Ymx5IHdyYXAgaXQuPFwvbGk+PGxpPklmIHRoZSB1c2VyIGhhZCBhc3NvY2lhdGVkIGEgY29zdCB3aXRoIGEgZmlsdGVyIHZpYSA8Y29kZT5mcT17IWNvc3Q9MTIwfTxcL2NvZGU+IHRoZW4gd2UgY29weSB0aGlzIGNvc3QgdG8gdGhlIHRvcCBsZXZlbCBvZiB0aGUgbmV3LCBicm9hZGVuZWQgZmlsdGVyLjxcL2xpPjxcL29sPiJ9LCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJ0ZXh0LWVkaXRvciJ9LHsiaWQiOiJlZTYyYjc5IiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOltdLCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJzcGFjZXIifSx7ImlkIjoiMDMxOTNhNCIsImVsVHlwZSI6IndpZGdldCIsInNldHRpbmdzIjp7InRpdGxlIjoiQ29uY2x1c2lvblxuIiwic2l6ZSI6ImxhcmdlIn0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6ImhlYWRpbmcifSx7ImlkIjoiYTAzNTU0YSIsImVsVHlwZSI6IndpZGdldCIsInNldHRpbmdzIjp7ImVkaXRvciI6IjxwPkVkaXRvcmlhbCBib29zdGluZyBpcyBhIGNvbW1vbiB1c2UgY2FzZSBpbiBzZWFyY2gsIGJ1dCBTb2xyXHUyMDE5cyBRdWVyeSBFbGV2YXRpb24gQ29tcG9uZW50IGxhY2tlZCB0aGUgZmxleGliaWxpdHkgdG8gaGFuZGxlIHNjZW5hcmlvcyB3aGVyZSBkb2N1bWVudHMgc2hvdWxkIGJlIGVsZXZhdGVkIFx1MjAxY25vIG1hdHRlciB3aGF0Llx1MjAxZCBXZVx1MDBhMCBob3BlIHRoZSBuZXcgc3VwcG9ydCBmb3IgZmlsdGVyIGV4Y2x1c2lvbnMgaW4gU29sciA5LjIgd2lsbCBtYWtlIFFFQyB1c2FibGUgaW4gYSB3aWRlciByYW5nZSBvZiBzY2VuYXJpb3MsIGluIGEgd2F5IHRoYXQgbWFpbnRhaW5zIGdvb2QgcGVyZm9ybWFuY2UuPFwvcD48cD5Gb3IgZnVydGhlciBkZXRhaWxzLCBzZWU6XHUwMGEwPGEgaHJlZj1cImh0dHBzOlwvXC9pc3N1ZXMuYXBhY2hlLm9yZ1wvamlyYVwvYnJvd3NlXC9TT0xSLTE2NDk2XCI+U09MUi0xNjQ5Ni48XC9hPjxcL3A+In0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InRleHQtZWRpdG9yIn1dLCJpc0lubmVyIjoiIn0=\\\"]\\t\\t<div class=\\\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-25d70f8 elementor-hidden-tablet elementor-hidden-mobile\\\" data-id=\\\"25d70f8\\\" data-element_type=\\\"column\\\" data-e-type=\\\"column\\\">\\n\\t\\t\\t<div class=\\\"elementor-widget-wrap\\\">\\n\\t\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t<\\\/div>\\n\\t\\t\\t\\t<div class=\\\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-341a4f4\\\" data-id=\\\"341a4f4\\\" data-element_type=\\\"column\\\" data-e-type=\\\"column\\\">\\n\\t\\t\\t<div class=\\\"elementor-widget-wrap elementor-element-populated\\\">\\n\\t\\t\\t\\t\\t\\t<div class=\\\"elementor-element elementor-element-5f9fa9e flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\\\" data-id=\\\"5f9fa9e\\\" data-element_type=\\\"widget\\\" data-e-type=\\\"widget\\\" data-widget_type=\\\"heading.default\\\">\\n\\t\\t\\t\\t<div class=\\\"elementor-widget-container\\\">\\n\\t\\t\\t\\t\\t<div class=\\\"title-h6 elementor-heading-title elementor-size-small\\\">Share Post\\n<\\\/div>\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t<\\\/div>\\n\\t\\t[elementor-element k=\\\"9109a976d8649ee6d2c8fef8daebbb8b\\\" data=\\\"eyJpZCI6IjBkNmU5OWMiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJwaW50ZXJlc3QiOiIiLCJ0dW1ibHIiOiIiLCJ0ZWxlZ3JhbSI6IiIsIndoYXRzYXBwIjoiIiwidmliZXIiOiIiLCJ4aW5nIjoiIiwiX21hcmdpbiI6eyJ1bml0IjoicHgiLCJ0b3AiOiI1IiwicmlnaHQiOiIwIiwiYm90dG9tIjoiMCIsImxlZnQiOiIwIiwiaXNMaW5rZWQiOiIifSwiX19nbG9iYWxzX18iOnsiaWNvbnNfY29sb3IiOiJnbG9iYWxzXC9jb2xvcnM\\\/aWQ9NDI4ZjI3NyJ9fSwiZWxlbWVudHMiOltdLCJ3aWRnZXRUeXBlIjoidGhlZ2VtLXNvY2lhbC1zaGFyaW5nIn0=\\\"]\\t\\t<div class=\\\"elementor-element elementor-element-3983c75 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\\\" data-id=\\\"3983c75\\\" data-element_type=\\\"widget\\\" data-e-type=\\\"widget\\\" data-widget_type=\\\"spacer.default\\\">\\n\\t\\t\\t\\t<div class=\\\"elementor-widget-container\\\">\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"elementor-spacer\\\">\\n\\t\\t\\t<div class=\\\"elementor-spacer-inner\\\"><\\\/div>\\n\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t<div class=\\\"elementor-element elementor-element-ca422c7 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-heading\\\" data-id=\\\"ca422c7\\\" data-element_type=\\\"widget\\\" data-e-type=\\\"widget\\\" data-widget_type=\\\"heading.default\\\">\\n\\t\\t\\t\\t<div class=\\\"elementor-widget-container\\\">\\n\\t\\t\\t\\t\\t<div class=\\\"title-h6 elementor-heading-title elementor-size-small\\\">More from the KMW Blog<\\\/div>\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t<\\\/div>\\n\\t\\t[elementor-element k=\\\"9109a976d8649ee6d2c8fef8daebbb8b\\\" data=\\\"eyJpZCI6IjE2YWZmNWEiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJ0aGVnZW1fZWxlbWVudG9yX3ByZXNldCI6ImNvbXBhY3QtdGlueS0yIiwic2hvd19kYXRlIjoiIiwic2hvd19jb21tZW50cyI6IiIsInNob3dfbGlrZXMiOiIiLCJyZWFkbW9yZV9idXR0b25fdGV4dCI6IlJlYWQgTW9yZSIsInNob3dfcGFnaW5hdGlvbiI6IiIsImxvYWRtb3JlX2J1dHRvbl90ZXh0IjoiTG9hZCBNb3JlIiwiaWdub3JlX3N0aWNreV9wb3N0cyI6IiIsImNhcHRpb25fY2F0ZWdvcmllc19pbl90ZXh0IjoiaW4gIiwiY2FwdGlvbl9hdXRob3JfYnlfdGV4dCI6IkJ5IiwiZXhjbHVkZV9ibG9nX3Bvc3RzIjpbIjI3NDY3Il0sInNob3dfZGVzY3JpcHRpb24iOiIiLCJzb3VyY2VfdHlwZSI6InJlbGF0ZWQiLCJwYWdpbmF0aW9uX3R5cGUiOiJsb2FkLW1vcmUtYnV0dG9uIn0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InRoZWdlbS1ibG9nbGlzdCJ9\\\"]\\t\\t\\t<\\\/div>\\n\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t<\\\/div><\\\/div>\\r\\n\\t\\t<\\\/section>\\r\\n\\t\\t\\t\\t<section class=\\\"elementor-section elementor-top-section elementor-element elementor-element-f3ee41f elementor-section-boxed elementor-section-height-default elementor-section-height-default\\\" data-id=\\\"f3ee41f\\\" data-element_type=\\\"section\\\" data-e-type=\\\"section\\\">\\r\\n\\t\\t\\t\\t\\t\\t<div class=\\\"elementor-container elementor-column-gap-thegem\\\"><div class=\\\"elementor-row\\\">\\r\\n\\t\\t\\t\\t\\t<div class=\\\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f85ed8a\\\" data-id=\\\"f85ed8a\\\" data-element_type=\\\"column\\\" data-e-type=\\\"column\\\">\\n\\t\\t\\t<div class=\\\"elementor-widget-wrap elementor-element-populated\\\">\\n\\t\\t\\t\\t\\t\\t<div class=\\\"elementor-element elementor-element-cfbe074 flex-horizontal-align-default flex-horizontal-align-tablet-default flex-horizontal-align-mobile-default flex-vertical-align-default flex-vertical-align-tablet-default flex-vertical-align-mobile-default elementor-widget elementor-widget-spacer\\\" data-id=\\\"cfbe074\\\" data-element_type=\\\"widget\\\" data-e-type=\\\"widget\\\" data-widget_type=\\\"spacer.default\\\">\\n\\t\\t\\t\\t<div class=\\\"elementor-widget-container\\\">\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"elementor-spacer\\\">\\n\\t\\t\\t<div class=\\\"elementor-spacer-inner\\\"><\\\/div>\\n\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t<\\\/div>\\n\\t\\t[elementor-element k=\\\"9109a976d8649ee6d2c8fef8daebbb8b\\\" data=\\\"eyJpZCI6ImU2NDI2MzAiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJwcmV2X2xhYmVsIjoiUHJldmlvdXMgUG9zdCIsIm5leHRfbGFiZWwiOiJOZXh0IFBvc3QiLCJzaG93X2JvcmRlcnMiOiIiLCJ0aXRsZV90eXBvZ3JhcGh5X3R5cG9ncmFwaHkiOiJjdXN0b20iLCJ0aXRsZV90eXBvZ3JhcGh5X2ZvbnRfc2l6ZSI6eyJ1bml0IjoicHgiLCJzaXplIjoxNCwic2l6ZXMiOltdfSwidGl0bGVfdHlwb2dyYXBoeV9mb250X3dlaWdodCI6IjcwMCIsIl9fZ2xvYmFsc19fIjp7ImFycm93X2NvbG9yIjoiZ2xvYmFsc1wvY29sb3JzP2lkPXByaW1hcnkiLCJsYWJlbF9jb2xvciI6Imdsb2JhbHNcL2NvbG9ycz9pZD1zZWNvbmRhcnkifSwiYXJyb3ciOiJmYSBmYS1jYXJldC1sZWZ0Iiwic2hvd19hcnJvdyI6IiJ9LCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJnbG9iYWwiLCJ0ZW1wbGF0ZUlEIjoiMjgwODMifQ==\\\"]\\t\\t\\t<\\\/div>\\n\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t<\\\/div><\\\/div>\\r\\n\\t\\t<\\\/section>\\r\\n\\t\\t\",\"scripts\":[],\"styles\":[]}}"]},"jetpack_featured_media_url":"https:\/\/kmwllc.com\/wp-content\/uploads\/2022\/11\/blog_QEC1200x900.png","menu_order":0,"_links":{"self":[{"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/posts\/27467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/comments?post=27467"}],"version-history":[{"count":10,"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/posts\/27467\/revisions"}],"predecessor-version":[{"id":30205,"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/posts\/27467\/revisions\/30205"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/media\/29696"}],"wp:attachment":[{"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/media?parent=27467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/categories?post=27467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kmwllc.com\/index.php\/wp-json\/wp\/v2\/tags?post=27467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}