<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>API Documentation Archives - SearchStax Docs</title>
	<atom:link href="https://demo.searchstax.com/docs/searchstudio_categories/studio-api-documentation/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Documentation</description>
	<lastBuildDate>Wed, 14 May 2025 18:24:53 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>

<image>
	<url>https://demo.searchstax.com/docs/wp-content/uploads/2023/10/cropped-favicon-32x32.png</url>
	<title>API Documentation Archives - SearchStax Docs</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Popular Searches API</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstax-studio-popular-searches-api/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 01 Sep 2022 17:11:44 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=12521</guid>

					<description><![CDATA[<p>Popular Searches API SearchStax Site Search solution&#8217;s Popular Searches API retrieves the most Popular Searches recorded by the Search App during the previous 30 days. This page describes how to&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-popular-searches-api/">Continue reading <span class="screen-reader-text">Popular Searches API</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-popular-searches-api/">Popular Searches API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Popular Searches API</h1>



<hr class="wp-block-separator has-css-opacity"/>



<p>SearchStax Site Search solution&#8217;s <strong>Popular Searches API</strong> retrieves the most Popular Searches recorded by the Search App during the previous 30 days.</p>



<p></p>



<p>This page describes how to retrieve a Json document of popular-search strings for display on your search page.</p>



<p>The API can be accessed through any tool that assembles HTTP requests and dispatch them to a server. Among these would be the Python <a href="https://pypi.org/project/coreapi/">coreapi</a> package, the <a href="https://www.postman.com/">Postman</a> tool, and cURL. For Windows, use <a href="https://docs.microsoft.com/en-us/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7">PowerShell 7</a>.</p>



<p>Symbols enclosed in carets (&lt; and &gt;) such as&nbsp;<strong>&lt;username&gt;</strong>&nbsp;are metavariables. Substitute your local values when you encounter them in the examples.</p>



<h2 class="wp-block-heading" id="ipfiltering">Popular Search</h2>



<p>This method returns a list of Popular Searches from a Search App. The pool of searches covers the most recent 30 days of search history.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
GET &amp;lt;popular-searches-URL&gt;?language=&amp;lt;code&gt;&amp;amp;page=&amp;lt;n&gt;&amp;amp;num_results=&amp;lt;n&gt;
</pre></div>


<p>where&nbsp;<strong>&lt;popular-searches-URL&gt;</strong>&nbsp;is an endpoint from the <a href="/docs/searchstudio/searchstax-studio-discovery-api-tab/">Discovery API Tab</a> of the <strong>App Settings</strong> screen. Language is an optional two-letter <a href="/docs/searchstudio/searchstax-studio-multi-language-experiences/">language code</a>. <strong>Page</strong> is an optional page within the paginated result set. <strong>Num_results</strong> is an optional limit on the number of searches desired (1 through 20).  </p>



<p>This method uses <strong>Discovery API Key</strong>&nbsp;authorization. The Discovery API key is displayed on the <a href="/docs/searchstudio/searchstax-studio-discovery-api-tab/">Discovery API Tab</a>. It must be passed in the header of the request. </p>



<p>When invoked from Linux (Bash shell):</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
curl &#039;https://app.searchstax.com/api/v1/nn/popular-search/?language=en&amp;num_results=10&#039; -H &#039;Authorization: f17e2131927b055383669327b1dc95338a7bdd7d&#039; 

</pre></div>


<p>The response is a JSON document containing a list of popular searches.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; quick-code: false; notranslate">
{
  &quot;responseHeader&quot;: {
    &quot;zkConnected&quot;: true,
    &quot;status&quot;: 0,
    &quot;QTime&quot;: 1
  },
  &quot;response&quot;: {
    &quot;numFound&quot;: 4,
    &quot;start&quot;: 0,
    &quot;numFoundExact&quot;: true,
    &quot;docs&quot;: &#x5B;
      {
        &quot;query&quot;: &quot;drupal integration&quot;,
        &quot;count&quot;: 12
      },
      {
        &quot;query&quot;: &quot;solr&quot;,
        &quot;count&quot;: 3
      },
      {
        &quot;query&quot;: &quot;sitecore&quot;,
        &quot;count&quot;: 2
      },
      {
        &quot;query&quot;: &quot;test&quot;,
        &quot;count&quot;: 2
      }
    ]
  }
}

</pre></div>


<p>The fields of each popular search have the following meanings:</p>



<ul class="wp-block-list">
<li><strong>query:</strong> The text of a popular search. </li>



<li><strong>count:</strong> How many time the Search App has encountered this search.  </li>
</ul>



<p>The other fields are Solr internal values. </p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Studio%3A%20Popular%20Searches%20API" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-popular-searches-api/">Popular Searches API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tracking API (REST)</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstax-studio-analytics-rest-api/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Thu, 08 Jul 2021 22:25:44 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=site_search&#038;p=9272</guid>

					<description><![CDATA[<p>Tracking API (REST) This page describes how to add&#160;SearchStax&#160;Site Search solution&#8217;s Analytics Events&#160;to your search page. The Tracking API (Javascript) page describes how you can use a helper Javascript library&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-analytics-rest-api/">Continue reading <span class="screen-reader-text">Tracking API (REST)</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-analytics-rest-api/">Tracking API (REST)</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-tracking-api-rest">Tracking API (REST)</h1>



<hr class="wp-block-separator has-css-opacity"/>



<p>This page describes how to add&nbsp;SearchStax&nbsp;Site Search solution&#8217;s <strong>Analytics Events</strong>&nbsp;to your search page. The <a href="/docs/searchstudio/searchstax-studio-javascript-tracking-api/">Tracking API (Javascript)</a> page describes how you can use a helper Javascript library to push Analytics events. This document describes how the same events can be pushed using just a REST API.</p>



<p></p>



<pre class="wp-block-preformatted">  </pre>



<p></p>



<h2 class="wp-block-heading">Analytics URL, Key and the REST Endpoint</h2>



<p>On the Settings page of your Search App, the <strong>Analytics API</strong> tab contains the base URL for the API and the Analytics Key. The analytics key identifies the Search App.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="944" height="339" src="https://demo.searchstax.com/docs/wp-content/uploads/2023/09/image-11.png" alt="" class="wp-image-16215" srcset="https://demo.searchstax.com/docs/wp-content/uploads/2023/09/image-11.png 944w, https://demo.searchstax.com/docs/wp-content/uploads/2023/09/image-11-300x108.png 300w, https://demo.searchstax.com/docs/wp-content/uploads/2023/09/image-11-768x276.png 768w" sizes="(max-width: 944px) 100vw, 944px" /></figure>



<p>The Analytics REST endpoint is <strong><code>&lt;Analytics URL&gt;/api/v2/track/</code>.</strong></p>



<p>Example: <code>https://analytics-us.searchstax.com/api/v2/track/</code></p>



<p>Different events can be pushed to this endpoint as described in the sections below.</p>



<h2 class="wp-block-heading">Events</h2>



<p>An “event” is a user action on your search page, such as searching for a keyword or clicking on a search result. SearchStax supports the following event messages:</p>



<ul class="wp-block-list">
<li><a href="#track-searches-and-impressions">_search</a> </li>



<li><a href="#track-related-searches-and-impressions">_relatedsearch</a>  </li>



<li><a href="#track-search-clicks">_searchclick</a>  </li>



<li><a href="#track-related-search-clicks">_relatedsearchclick</a> </li>



<li><a href="#track-search-satisfaction">_searchSatisfaction</a> </li>
</ul>



<p>Each type of event has its own set of required properties, which are detailed below. The following are the common properties across all events:</p>


<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string  </td>
<td>This is the unique analytics app key as shown in the “Analytics API” tab of your App within Search App Management</td>
<td>&#8216;IeDTTDD1ubJdfPMmu7MMxxVjUMdw6vo52BjPixxqwcQ&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string  </td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session. If omitted, some analytics features cannot be fully reported.</td>
<td>‘qqMKt4fxhcud0T5c3UJ5spgug’</td>
</tr>
<tr>
<td><strong>_vid:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string </td>
<td>Unique Identifier to identify a visitor</td>
<td>&#8216;d7cc372a-2be6-ee1e-26e8-0f903fa36e67&#8217;</td>
</tr>
</tbody>
</table>
</figure>


<p><strong>session</strong> can be obtained using the following helper function:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
getSession : function(name){
	var name = &#039;searchcookie&#039;;
	var session = document.cookie.match(new RegExp(&#039;(^| )&#039; + name + &#039;=(&#x5B;^;]+)&#039;));
	return session&#x5B;2];
}

</pre></div>


<h2 class="wp-block-heading" id="search-events-vs-related-search-events">Search Events vs Related Search Events</h2>



<p>The &#8220;search&#8221; and &#8220;related-search&#8221; events are intended to be used in the following fashion:</p>



<ol class="wp-block-list">
<li>Your search page sends a query to the search API. The search results are returned. A <a href="#track-searches-and-impressions">track</a> event fires to track the impressions from the search results.</li>



<li>If using the related searches features, your search page sends a request to the related searches API to get related searches for the query. The related searches are returned. A <a href="#track-related-searches-and-impressions">trackRelatedSearch</a> event fires to track the related searches that were returned</li>



<li>If the user clicks on a document, a <a href="#track-clicks">trackClick</a> event fires to track which document was clicked on.</li>



<li>If the user clicks on a related search, a <a href="#track-related-search-clicks">trackRelatedSearchClick</a> event fires to track which related search was clicked on. </li>
</ol>



<pre class="wp-block-preformatted">   
</pre>



<h2 class="wp-block-heading" id="track-searches-and-impressions">Track Searches and Impressions</h2>



<p>To track searches, create a data object as below, which specifies the event type as <code>_search</code>.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
var searchObj = {
  &quot;event&quot;: &quot;_search&quot;,
  &quot;properties&quot;: {
    &quot;key&quot;: &quot;imDMrs56aTaDJc6jihDejUkDZYj3Gm8riJHlR0V1S58&quot;,
    &quot;query&quot;: &quot;sitecore&quot;,
    &quot;shownHits&quot;: 3,
    &quot;totalHits&quot;: 12,
    &quot;pageNo&quot;: 1,
    &quot;latency&quot;: 6,
    &quot;session&quot;: &quot;r6ivpxkd3e294kJ299V0tVb1q&quot;,
    &quot;impressions&quot;: &#x5B;
      {
        &quot;cDocId&quot;: &quot;https://www.searchstax.com/solutions/sitecore-solr/&quot;,
        &quot;cDocTitle&quot;: &quot;Managed Solr Service for Sitecore | SearchStax&quot;,
        &quot;position&quot;: 1
      },
      {
        &quot;cDocId&quot;: &quot;https://www.searchstax.com/blog/site-search-for-sitecore-video/&quot;,
        &quot;cDocTitle&quot;: &quot;SearchStudio for Sitecore - Video | The Search Experience Blog&quot;,
        &quot;position&quot;: 2
      },
      {
        &quot;cDocId&quot;: &quot;https://www.searchstax.com/solutions/sitecore-azure-to-solr-migration/&quot;,
        &quot;cDocTitle&quot;: &quot;Migrate Azure Search to Solr for Sitecore | SearchStax&quot;,
        &quot;position&quot;: 3
      }
    ],
    &quot;_vid&quot;: &quot;d7cc372a-2be6-ee1e-26e8-0f903fa36e67&quot;,
    &quot;language&quot;: &quot;en&quot;
  }
}

</pre></div>


<p></p>


<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>event:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Type of user action on the search page.</td>
<td>&#8216;_search&#8217;</td>
</tr>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key</td>
<td>&#8216;IeDTTDD1ubJdfPMmu7MMxxVjUMdw6vo52BjPixxqwcQ&#8217;</td>
</tr>
<tr>
<td><strong>user:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>A token identifying the webpage user. This datum is stored but is not currently used.</td>
<td>&#8216;smith123&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;qqMKt4fxhcud0T5c3UJ5spgug&#8217;</td>
</tr>
<tr>
<td><strong>query:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The query string from your search page, or <strong>q</strong> from the response document.</td>
<td>&#8216;sitecore plugin&#8217;</td>
</tr>
<tr>
<td><strong>shownHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits shown in the response document.</td>
<td>10</td>
</tr>
<tr>
<td><strong>totalHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits in the index, from the response document.</p>
<p><strong>Note:</strong> To track searches that returned no results, set totalHits to 0.</p>
</td>
<td>1890</td>
</tr>
<tr>
<td><strong>latency:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of milliseconds to execute a search. You define the semantics. (One possibility is to use Qtime from the response document). Without this value, Analytics will not calculate average latency.</td>
<td>150</td>
</tr>
<tr>
<td><strong>pageNo:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The page number of the displayed results, from the response document.</td>
<td>1</td>
</tr>
<tr>
<td><strong>impressions:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />array</td>
<td>An array of dictionaries, each describing a search result &#8220;impression.&#8221;<br />It lets the Analytics App track the documents that were displayed to the user as search results, whether the user clicked on them or not</td>
<td><code>[<br />{'cDocId': 'aDocId1', 'cDocTitle': 'aDocTitle1', 'position': 1},<br />{'cDocId': 'aDocId2', 'cDocTitle': 'aDocTitle2', 'position': 2}, ..<br />]</code><br />where <code>cDocId</code> is the unique ID of the document and <code>cDocTitle</code> is the title that is displayed for the search result.<br />The position numbers should start with 1</td>
</tr>
<tr>
<td><strong>_vid</strong>:<br /><span class="has-inline-color" style="color: #32cd32;"><span class="has-inline-color" style="color: #ff0000;">required</span></span><br />string</td>
<td>Unique Identifier for the visitor.</td>
<td>d7cc372a-2be6-ee1e-26e8-0f903fa36e67</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="https://demo.searchstax.com/docs/searchstudio/multi-language-experiences/#default">default language</a>.</td>
<td>&#8220;en&#8221;, &#8220;fr&#8221;, or &#8220;es&#8221;</td>
</tr>
</tbody>
</table>
</figure>


<p></p>



<h3 class="wp-block-heading">Calling the Analytics REST endpoint (/track API)</h3>



<p>To call the REST API and insert the event, the event objects should be encoded to Base64 and passed as the <code>data</code>. For example, for the above request, you can use online base64 encoders such as <a href="https://www.base64encode.org/">https://www.base64encode.org/</a> to encode the object and then call the API endpoint as follows:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
curl -vL &quot;https://analytics-us.searchstax.com/api/v2/track/?data=ewogICJldmVudCI6ICJfc2VhcmNoIiwKICAicHJvcGVydGllcyI6IHsKICAgICJrZXkiOiAiaW1ETXJzNTZhVGFESmM2amloRGVqVWtEWllqM0dtOHJpSkhsUjBWMVM1OCIsCiAgICAicXVlcnkiOiAic2l0ZWNvcmUiLAogICAgInNob3duSGl0cyI6IDMsCiAgICAidG90YWxIaXRzIjogMTIsCiAgICAicGFnZU5vIjogMSwKICAgICJsYXRlbmN5IjogNiwKICAgICJzZXNzaW9uIjogInI2aXZweGtkM2UyOTRrSjI5OVYwdFZiMXEiLAogICAgImltcHJlc3Npb25zIjogWwogICAgICB7CiAgICAgICAgImNEb2NJZCI6ICJodHRwczovL3d3dy5zZWFyY2hzdGF4LmNvbS9zb2x1dGlvbnMvc2l0ZWNvcmUtc29sci8iLAogICAgICAgICJjRG9jVGl0bGUiOiAiTWFuYWdlZCBTb2xyIFNlcnZpY2UgZm9yIFNpdGVjb3JlIHwgU2VhcmNoU3RheCIsCiAgICAgICAgInBvc2l0aW9uIjogMQogICAgICB9LAogICAgICB7CiAgICAgICAgImNEb2NJZCI6ICJodHRwczovL3d3dy5zZWFyY2hzdGF4LmNvbS9ibG9nL3NpdGUtc2VhcmNoLWZvci1zaXRlY29yZS12aWRlby8iLAogICAgICAgICJjRG9jVGl0bGUiOiAiU2l0ZSBTZWFyY2ggZm9yIFNpdGVjb3JlIC0gVmlkZW8gfCBUaGUgU2VhcmNoIEV4cGVyaWVuY2UgQmxvZyIsCiAgICAgICAgInBvc2l0aW9uIjogMgogICAgICB9LAogICAgICB7CiAgICAgICAgImNEb2NJZCI6ICJodHRwczovL3d3dy5zZWFyY2hzdGF4LmNvbS9zaXRlY29yZS1henVyZS10by1zb2xyLW1pZ3JhdGlvbi8iLAogICAgICAgICJjRG9jVGl0bGUiOiAiTWlncmF0ZSBBenVyZSBTZWFyY2ggdG8gU29sciBmb3IgU2l0ZWNvcmUgfCBTZWFyY2hTdGF4IiwKICAgICAgICAicG9zaXRpb24iOiAzCiAgICAgIH0KICAgIF0sCiAgICAiX3ZpZCI6ICJkN2NjMzcyYS0yYmU2LWVlMWUtMjZlOC0wZjkwM2ZhMzZlNjciCiAgfQp9&quot;

</pre></div>


<p>The above method returns an HTTP status code of 201/204 if the event was successfully added.</p>



<p>If the data is large, you should use POST instead of GET API.</p>



<p>If the data contains special characters, you should make sure it is URL encoded (Can test on <a href="https://www.urlencoder.org/">https://www.urlencoder.org/</a>)</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; quick-code: false; notranslate">
DATA = urlEncode(base64encode(searchObj))
curl -v &quot;https://analytics-us.searchstax.com/api/v2/track/?data=$DATA&quot;
</pre></div>


<p></p>



<h2 class="wp-block-heading" id="track-related-searches-and-impressions">Track Related Searches and Impressions</h2>



<p>To track related searches, create a data object as below, which specifies the event type as&nbsp;<code>_relatedsearch</code>.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; quick-code: false; notranslate">
var relatedSearchObj = {
  &quot;event&quot;:&quot;_relatedsearch&quot;,
  &quot;properties&quot;:{
    &quot;session&quot;:&quot;JKaqFFK088vyrTkIBwBeWDyhQ&quot;,
    &quot;key&quot;:&quot;IeDTTDD1ubJdfPMmu7MMxxVjUMdw6vo52BjPixxqwcQ&quot;,
    &quot;query&quot;:&quot;solr&quot;,
    &quot;shownHits&quot;:2,
    &quot;pageNo&quot;: 1,
    &quot;impressions&quot;:&#x5B;
      {&quot;relatedSearch&quot;:&quot;managed solr&quot;,
      &quot;position&quot;:1},
      {&quot;relatedSearch&quot;:&quot;solr 7&quot;,
      &quot;position&quot;:2}
    ],
    &quot;_vid&quot;:&quot;d7cc372a-2be6-ee1e-26e8-0f903fa36e67&quot;,
    &quot;language&quot;: &quot;en&quot;
}}

</pre></div>

<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>event:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>Type of user action on the search page.</td>
<td>‘_relatedsearch’</td>
</tr>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key</td>
<td>&#8216;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&#8217;</td>
</tr>
<tr>
<td><strong>user:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>A token identifying the webpage user. This datum is stored but is not currently used.</td>
<td>&#8216;smith123&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;XDJFNS355FGDFVVDFG&#8217;</td>
</tr>
<tr>
<td><strong>query:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The query string from your search page, or <strong>q</strong> from the response document.</td>
<td>&#8216;sitecore plugin&#8217;</td>
</tr>
<tr>
<td><strong>shownHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits shown in the response document.</td>
<td>10</td>
</tr>
<tr>
<td><strong>latency:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of milliseconds to execute a search. You define the semantics. (One possibility is to use Qtime from the response document). Without this value, Analytics will not calculate average latency.</td>
<td>150</td>
</tr>
<tr>
<td><strong>impressions:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />array</td>
<td>An array of dictionaries, each describing a related search “impression.”<br />It lets the Analytics App track the related searches that were displayed to the user as search results, whether the user clicked on them or not</td>
<td><code><code>[</code><br /><code>{'relatedSearch': 'an example related search', 'position': 1},</code><br /><code>{'relatedSearch': 'another example related search', 'position': 2}, ..</code><br /><code>]</code><br />where <code>relatedSearch</code> is the related search query. The position numbers should start with 1</code></td>
</tr>
<tr>
<td><strong>_vid</strong>:<br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark></mark><br />string</td>
<td>Unique Identifier for the visitor.</td>
<td>d7cc372a-2be6-ee1e-26e8-0f903fa36e67</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="https://demo.searchstax.com/docs/searchstudio/multi-language-experiences/#default">default language</a>.</td>
<td>&#8220;en&#8221;, &#8220;fr&#8221;, or &#8220;es&#8221;</td>
</tr>
</tbody>
</table>
</figure>


<h3 class="wp-block-heading">Calling the Analytics REST endpoint (/track API)</h3>



<p>To call the REST API and insert the event, the event objects should be encoded to Base64 and passed as the <code>data</code>. For example, for the above request, you can use online base64 encoders such as <a href="https://www.base64encode.org/">https://www.base64encode.org/</a> to encode the object and then call the API endpoint as follows:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
curl -vL &quot;https://analytics-us.searchstax.com/api/v2/track/?data=ewogICJldmVudCI6Il9yZWxhdGVkc2VhcmNoIiwKICAicHJvcGVydGllcyI6ewogICAgInNlc3Npb24iOiJKS2FxRkZLMDg4dnlyVGtJQndCZVdEeWhRIiwKICAgICJrZXkiOiJJZURUVEREMXViSmRmUE1tdTdNTXh4VmpVTWR3NnZvNTJCalBpeHhxd2NRIiwKICAgICJxdWVyeSI6InNvbHIiLAogICAgInNob3duSGl0cyI6MiwKICAgICJwYWdlTm8iOiAxLAogICAgImltcHJlc3Npb25zIjpbCiAgICAgIHsicmVsYXRlZFNlYXJjaCI6Im1hbmFnZWQgc29sciIsCiAgICAgICJwb3NpdGlvbiI6MX0sCiAgICAgIHsicmVsYXRlZFNlYXJjaCI6InNvbHIgNyIsCiAgICAgICJwb3NpdGlvbiI6Mn0KICAgIF0sCiAgICAiX3ZpZCI6ImQ3Y2MzNzJhLTJiZTYtZWUxZS0yNmU4LTBmOTAzZmEzNmU2NyIsCn19&quot;
</pre></div>


<p>The above method returns an HTTP status code of 201/204 if the event was successfully added.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; quick-code: false; notranslate">
DATA = urlEncode(base64encode(searchObj))
curl -v &quot;https://analytics-us.searchstax.com/api/v2/track/?data=$DATA&quot;
</pre></div>


<h2 class="wp-block-heading" id="track-search-clicks">Track Search Clicks</h2>



<p>To start generating data around click-through events, search quality and relevance, have <strong><code>/track</code></strong> send <code>_searchclick</code> event to the Analytics App.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
var searchClickObj = {
  &quot;event&quot;: &quot;_searchclick&quot;,
  &quot;properties&quot;: {
    &quot;key&quot;: &quot;imDMrs56aTaDJc6jihDejUkDZYj3Gm8riJHlR0V1S58&quot;,
    &quot;query&quot;: &quot;sitecore&quot;,
    &quot;shownHits&quot;: 12,
    &quot;totalHits&quot;: 143,
    &quot;pageNo&quot;: 1,
    &quot;latency&quot;: 6,
    &quot;session&quot;: &quot;jtVM0lqSBMEfmBDYBHaUjodIL&quot;,
    &quot;cDocId&quot;: &quot;https://www.searchstax.com/blog/site-search-for-sitecore-video/&quot;,
    &quot;cDocTitle&quot;: &quot;SearchStudio for Sitecore - Video | The Search Experience Blog&quot;,
    &quot;position&quot;: 2,
    &quot;_vid&quot;: &quot;d7cc372a-2be6-ee1e-26e8-0f903fa36e67&quot;,
    &quot;language&quot;: &quot;en&quot;
  }
}

</pre></div>


<p></p>


<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>event:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Type of user action on search page.</td>
<td>&#8216;_searchclick&#8217;</td>
</tr>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key</td>
<td>&#8216;IeDTTDD1ubJdfPMmu7MMxxVjUMdw6vo52BjPixxqwcQ&#8217;</td>
</tr>
<tr>
<td><strong>user:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>A token identifying the webpage user. This datum is stored but is not currently used.</td>
<td>&#8216;smith123&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;qqMKt4fxhcud0T5c3UJ5spgug&#8217;</td>
</tr>
<tr>
<td><strong>query:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The query string from your search page, or <strong>q</strong> from the response document.</td>
<td>&#8216;sitecore&#8217;</td>
</tr>
<tr>
<td><strong>cDocId:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The document ID from the response document.</td>
<td>&#8216;https://www.searchstax.com/blog/site-search-for-sitecore-video/&#8217;</td>
</tr>
<tr>
<td><strong>cDocTitle</strong><br /><span class="has-inline-color" style="color: #32cd32;"><span class="has-inline-color" style="color: #ff0000;">required</span></span><br />string</td>
<td>The document title from the response document. Note: In some applications, the document title may change. Analytics can be calculated as long as cDocID remains constant.</td>
<td>&#8216;SearchStax Studio for Sitecore &#8211; Video | The Search Experience Blog&#8217;</td>
</tr>
<tr>
<td><strong>position:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />number</td>
<td>Absolute position of the document in the full list of results. If we&#8217;re showing ten items per page, the first result on the 5th page is position in position 41. First item on the first page has position as 1</td>
<td>2</td>
</tr>
<tr>
<td><strong>pageNo:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The page number of the displayed results, from the response document.</td>
<td>1</td>
</tr>
<tr>
<td><strong>pageUrl:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>The URL of the page that is sending the tracking request</td>
<td>&#8216;https://searchstudio.searchstax.com/search&#8217;</td>
</tr>
<tr>
<td><strong>shownHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits shown in the response document.</td>
<td>10</td>
</tr>
<tr>
<td><strong>totalHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits in the index, from the response document.</td>
<td>1890</td>
</tr>
<tr>
<td><strong>_vid</strong>:<br /><span class="has-inline-color" style="color: #32cd32;"><span class="has-inline-color" style="color: #ff0000;">required</span></span><br />string</td>
<td>Unique Identifier for the visitor.</td>
<td>d7cc372a-2be6-ee1e-26e8-0f903fa36e67</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="https://demo.searchstax.com/docs/searchstudio/multi-language-experiences/#default">default language</a>.</td>
<td>&#8220;en&#8221;, &#8220;fr&#8221;, or &#8220;es&#8221;</td>
</tr>
</tbody>
</table>
</figure>


<p>To call the REST API and insert the event, the event object should be encoded to Base64 and passed as the <code>data</code>, just like for the _search event</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
DATA = urlEncode(base64encode(searchClickObj))
curl -v &quot;https://analytics-us.searchstax.com/api/v2/track/?data=$DATA&quot;
</pre></div>


<p>The above method returns an HTTP status code of 201/204 if the event was successfully added. </p>



<h2 class="wp-block-heading" id="track-related-search-clicks">Track Related Search Clicks</h2>



<p>To start generating data around click-through events, search quality and relevance, have&nbsp;<code>/track</code>&nbsp;send&nbsp;<code>_relatedsearchclick</code>&nbsp;event to the Analytics App.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
{&quot;event&quot;:&quot;_relatedsearchclick&quot;,&quot;properties&quot;:{&quot;session&quot;:&quot;JKaqFFK088vyrTkIBwBeWDyhQ&quot;,&quot;key&quot;:&quot;tACKiVHqhd22wS3AEE3EYmKwbriokhs04Yja6uoAaXk&quot;,&quot;query&quot;:&quot;solr&quot;,&quot;relatedSearch&quot;:&quot;managed solr&quot;,&quot;pageNo&quot;:1,&quot;shownHits&quot;:1,&quot;totalHits&quot;:1,&quot;_vid&quot;:&quot;0b7fef5a-2deb-2e4e-15d3-5c8e4a19d58c&quot;,&quot;tt&quot;:1645231821464,&quot;pageUrl&quot;:&quot;https%3A%2F%2Fsearchstudio.searchstax.co%2Fapps%2Fyivdt5dND9n3WqjZOD5ZKIgbvzdz5lBH7gsVPRg6sAY%2Fsearch.html%3FsearchStudioQuery%3Dsolr%26style%3Dfalse%26facets%3D%26sort%3D%26start%3D0&quot;}}
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; quick-code: false; notranslate">
var searchClickObj = {
  &quot;event&quot;: &quot;_relatedsearchclick&quot;,
  &quot;properties&quot;: {
    &quot;key&quot;: &quot;imDMrs56aTaDJc6jihDejUkDZYj3Gm8riJHlR0V1S58&quot;,
    &quot;query&quot;: &quot;sitecore&quot;,
    &quot;shownHits&quot;: 12,
    &quot;totalHits&quot;: 143,
    &quot;pageNo&quot;: 1,
    &quot;latency&quot;: 6,
    &quot;session&quot;: &quot;jtVM0lqSBMEfmBDYBHaUjodIL&quot;,
    &quot;relatedSearch&quot;: &quot;Sitecore 7&quot;,
    &quot;position&quot;: 2,
    &quot;_vid&quot;: &quot;d7cc372a-2be6-ee1e-26e8-0f903fa36e67&quot;,
    &quot;language&quot;: &quot;en&quot;
  }
}

</pre></div>

<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>event:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>Type of user action on search page.</td>
<td>‘_relatedsearchclick’</td>
</tr>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key</td>
<td>&#8216;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&#8217;</td>
</tr>
<tr>
<td><strong>user:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>A token identifying the webpage user. This datum is stored but is not currently used.</td>
<td>&#8216;smith123&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;XDJFNS355FGDFVVDFG&#8217;</td>
</tr>
<tr>
<td><strong>query:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The query string from your search page, or <strong>q</strong> from the response document.</td>
<td>&#8216;sitecore plugin&#8217;</td>
</tr>
<tr>
<td><strong>position:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />number</td>
<td>Absolute position of the related search in the full list of results. If we’re showing ten related searches per page, the first related search on the 5th page is position in position 41. First related search on the first page has position as 1</td>
<td>41</td>
</tr>
<tr>
<td><strong>relatedSearch:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>The related search term that was clicked on.</td>
<td>&#8216;sitecore 7&#8217;</td>
</tr>
<tr>
<td><strong>pageNo:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The page number of the displayed results, from the response document.</td>
<td>1</td>
</tr>
<tr>
<td><strong>pageUrl:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>The URL of the page that is sending the tracking request</td>
<td>&#8216;https://searchstudio.searchstax.com/search&#8217;</td>
</tr>
<tr>
<td><strong>shownHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits shown in the response document.</td>
<td>10</td>
</tr>
<tr>
<td><strong>totalHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits in the index, from the response document.</td>
<td>1890</td>
</tr>
<tr>
<td><strong>_vid</strong>:<br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark></mark><br />string</td>
<td>Unique Identifier for the visitor.</td>
<td>d7cc372a-2be6-ee1e-26e8-0f903fa36e67</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="https://demo.searchstax.com/docs/searchstudio/multi-language-experiences/#default">default language</a>.</td>
<td>&#8220;en&#8221;, &#8220;fr&#8221;, or &#8220;es&#8221;</td>
</tr>
</tbody>
</table>
</figure>


<p>To call the REST API and insert the event, the event object should be encoded to Base64 and passed as the&nbsp;<code>data</code>, just like for the <code>_relatedsearch</code> event</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; quick-code: false; notranslate">
DATA = urlEncode(base64encode(searchClickObj))
curl -v &quot;https://analytics-us.searchstax.com/api/v2/track/?data=$DATA&quot;
</pre></div>


<p>The above method returns an HTTP status code of 201/204 if the event was successfully added.</p>



<p>&nbsp;&nbsp;</p>



<p></p>



<h2 class="wp-block-heading" id="track-search-satisfaction">Track Search Satisfaction</h2>



<p>SearchStax provides the ability to collect qualitative feedback about the search experience using the event <code>_searchSatisfaction</code> as shown below:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
var searchSatisfactionObj = {
  &quot;event&quot;: &quot;_searchSatisfaction&quot;,
  &quot;properties&quot;: {
    &quot;key&quot;: &quot;imDMrs56aTaDJc6jihDejUkDZYj3Gm8riJHlR0V1S58&quot;,
    &quot;email&quot;: &quot;user1@demo.searchstax.com&quot;,
    &quot;score&quot;: 10,
    &quot;comments&quot;: &quot;Very good search experience&quot;,
    &quot;_vid&quot;: &quot;d7cc372a-2be6-ee1e-26e8-0f903fa36e67&quot;
  }
}
</pre></div>

<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key.</td>
<td>&#8216;imDMrs56aTaDJc6jihDejUkDZYj3Gm8riJHlR0V1S58&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;qqMKt4fxhcud0T5c3UJ5spgug&#8217;</td>
</tr>
<tr>
<td><strong>email:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>Email ID of the user submitting the feedback</td>
<td>&#8216;user123@demo.searchstax.com&#8217;</td>
</tr>
<tr>
<td><strong>comments:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>Feedback about the search experience as a comment</td>
<td>&#8216;Very good search experience&#8217;</td>
</tr>
<tr>
<td><strong>score:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>0-10 score, rating the search experience</td>
<td>10</td>
</tr>
<tr>
<td><strong>_vid</strong>:<br /><span class="has-inline-color" style="color: #32cd32;"><span class="has-inline-color" style="color: #ff0000;">required</span></span><br />string</td>
<td>Unique Identifier for the visitor</td>
<td>&#8220;d7cc372a-2be6-ee1e-26e8-0f903fa36e67&#8221;</td>
</tr>
</tbody>
</table>
</figure>


<p>To call the REST API and insert the event, the event object should be encoded to Base64 and passed as the <code>data</code>, just like for the _search event</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
DATA = urlEncode(base64encode(searchSatisfactionObj))
curl -v &quot;https://analytics-us.searchstax.com/api/v2/track/?data=$DATA&quot;
</pre></div>


<p>The above method returns an HTTP status code of 201/204 if the event was successfully added.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Studio%3A%20Tracking%20API%20%28REST%29" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-analytics-rest-api/">Tracking API (REST)</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Analytics Cookies</title>
		<link>https://demo.searchstax.com/docs/searchstudio/analytics-cookies/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Thu, 13 Feb 2025 15:41:12 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=20607</guid>

					<description><![CDATA[<p>Site Search Cookie Usage SearchStax Site Search Analytics uses cookies to track the user’s search behavior. Site Search Analytics uses the following cookies: Name Purpose ms_visitorid This cookie is used&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/analytics-cookies/">Continue reading <span class="screen-reader-text">Analytics Cookies</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/analytics-cookies/">Analytics Cookies</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-site-search-cookie-usage">Site Search Cookie Usage</h1>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>SearchStax Site Search Analytics uses cookies to track the user’s search behavior. Site Search Analytics uses the following cookies:</p>



<figure class="wp-block-table table table-bordered table-striped"><table class="has-fixed-layout"><thead><tr><td>Name</td><td>Purpose</td></tr></thead><tbody><tr><td><code>ms_visitorid</code></td><td>This cookie is used to identify a user/visitor uniquely.</td></tr><tr><td><code>searchstax_session_id</code></td><td>This cookie is used to uniquely identify a user session. In an&nbsp; older toolkit (Legacy Vue2 accelerator), this cookie was named <code>searchcookie</code>).</td></tr></tbody></table></figure>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/analytics-cookies/">Analytics Cookies</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Tracking API (Javascript)</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstax-studio-javascript-tracking-api/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Mon, 29 Mar 2021 16:25:00 +0000</pubDate>
				<guid isPermaLink="false">https://site-qa.searchstax.com/knowledgecenter/?post_type=site_search&#038;p=7901</guid>

					<description><![CDATA[<p>Analytics Javascript Tracking API This page describes how to add the SearchStax Site Search solution&#8217;s Analytics Events to the Javascript of your search page. This is a required step for&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-javascript-tracking-api/">Continue reading <span class="screen-reader-text">Tracking API (Javascript)</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-javascript-tracking-api/">Tracking API (Javascript)</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="search-analytics-api">Analytics Javascript Tracking API </h1>



<hr class="wp-block-separator has-css-opacity"/>



<p>This page describes how to add the SearchStax Site Search solution&#8217;s <strong>Analytics Events</strong> to the Javascript of your search page. This is a required step for tracking user events. The events, in turn, make it possible to test the effect of proposed changes to your site.</p>



<h2 class="wp-block-heading" id="contents-of-this-page">Contents of this page:</h2>



<ul class="wp-block-list">
<li><a href="#javascript-library">Javascript Library</a></li>



<li><a href="#events">Events</a></li>



<li><a href="#search-events-vs-related-search-events">Search Events vs Related Search Events</a></li>



<li><a href="#track-searches-and-impressions">Track Searches and Impressions</a></li>



<li><a href="#track-search-satisfaction">Track Search Satisfaction</a></li>



<li><a href="#debug-analytics">Debugging the Analytics API</a></li>
</ul>



<h2 class="wp-block-heading" id="javascript-library">Javascript Library</h2>



<p>Your search page would track searches, clicks, and user feedback and send the information to your Search App.</p>



<p>Paste the following script in the head section of your Search Page:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; notranslate">
 &lt;script type=&quot;text/javascript&quot;&gt;
    var _msq = _msq || &#x5B;]; //declare object
    var analyticsBaseUrl = &#039;https://app.searchstax.com&#039;;
    var 
    (function () {
      var ms = document.createElement(&quot;script&quot;);
      ms.type = &quot;text/javascript&quot;;
      ms.src = &quot;https://static.searchstax.com/studio-js/v3/js/studio-analytics.js&quot;;
      var s = document.getElementsByTagName(&quot;script&quot;)&#x5B;0];
      s.parentNode.insertBefore(ms, s);
    })();
 &lt;/script&gt;

</pre></div>


<p>Change the <code>'analyticsBaseUrl'</code> based on the Analytics Endpoint <strong>shown in on Site Search > App Settings > All APIs ></strong> <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-analytics-api-tab/">Analytics</a>.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="638" height="236" src="https://demo.searchstax.com/docs/wp-content/uploads/2021/03/image-90.png" alt="" class="wp-image-20952" srcset="https://demo.searchstax.com/docs/wp-content/uploads/2021/03/image-90.png 638w, https://demo.searchstax.com/docs/wp-content/uploads/2021/03/image-90-300x111.png 300w" sizes="(max-width: 638px) 100vw, 638px" /></figure>



<p>&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="events">Events</h2>



<p>An &#8220;event&#8221; is a user action on your search page, such as searching for a keyword or clicking on a search result. SearchStax supports the following event messages:</p>



<ul class="wp-block-list">
<li><a href="#track-searches-and-impressions">track (to track queries)</a></li>



<li><a href="#track-related-searches-and-impressions">trackRelatedSearch</a></li>



<li><a href="#track-clicks">trackClick</a></li>



<li><a href="#track-related-search-clicks">trackRelatedSearchClick</a></li>



<li><a href="#track-search-satisfaction">trackSearchSatisfaction</a></li>
</ul>



<p>An event message is a wrapper for a list of property-value pairs. The values are the data that SearchStax tracks and analyzes. </p>



<p>Each type of event has its own set of required properties, which are detailed below. The following are the common properties across all events:</p>


<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string  </td>
<td>This is the unique analytics app key as shown in the “Analytics API” tab of your App within Search App Management</td>
<td>&#8216;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string  </td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session. If omitted, some analytics features cannot be fully reported.</td>
<td>‘XDJFNS355FGDFVVDFG’</td>
</tr>
</tbody>
</table>
</figure>


<p>&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="search-events-vs-related-search-events">Search Events vs Related Search Events</h2>



<p>The &#8220;search&#8221; and &#8220;related-search&#8221; events are intended to be used in the following fashion:</p>



<ol class="wp-block-list">
<li>Your search page sends a query to the search API. The search results are returned. A <a href="#track-searches-and-impressions">track</a> event fires to track the impressions from the search results.</li>



<li>If using the related searches features, your search page sends a request to the related searches API to get related searches for the query. The related searches are returned. A <a href="#track-related-searches-and-impressions">trackRelatedSearch</a> event fires to track the related searches that were returned</li>



<li>If the user clicks on a document, a <a href="#track-clicks">trackClick</a> event fires to track which document was clicked on.</li>



<li>If the user clicks on a related search, a <a href="#track-related-search-clicks">trackRelatedSearchClick</a> event fires to track which related search was clicked on. </li>
</ol>



<p>&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="track-searches-and-impressions">Track Searches and Impressions</h2>



<p>To track searches, use <strong>_msq.push()</strong> and dispatch a <strong>track</strong> event as part of parsing the response document.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; notranslate">
_msq.push(&#x5B;&#039;track&#039;, { 
   key: &quot;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&quot;, 
   user: &quot;smith123&quot;, 
   session: &quot;XDJFNS355FGDFVVDFG&quot;, 
   query: &quot;sitecore plugin&quot;, 
   shownHits: 10, 
   totalHits: 1890, 
   latency: 150, 
   pageNo: 1, 
   impressions: impressions,
   language: &quot;en&quot;
}]);

</pre></div>

<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key</td>
<td>&#8216;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&#8217;</td>
</tr>
<tr>
<td><strong>user:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>A token identifying the webpage user. This datum is stored but is not currently used.</td>
<td>&#8216;smith123&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;XDJFNS355FGDFVVDFG&#8217;</td>
</tr>
<tr>
<td><strong>query:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The query string from your search page, or <strong>q</strong> from the response document.</td>
<td>&#8216;sitecore plugin&#8217;</td>
</tr>
<tr>
<td><strong>shownHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits shown in the response document.</td>
<td>10</td>
</tr>
<tr>
<td><strong>totalHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits in the index, from the response document.</p>
<p><strong>Note:</strong> To track searches that returned no results, set totalHits to 0.</p>
</td>
<td>1890</td>
</tr>
<tr>
<td><strong>latency:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of milliseconds to execute a search. You define the semantics. (One possibility is to use Qtime from the response document). Without this value, Analytics will not calculate average latency.</td>
<td>150</td>
</tr>
<tr>
<td><strong>pageNo:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The page number of the displayed results, from the response document.</td>
<td>1</td>
</tr>
<tr>
<td><strong>impressions:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />array</td>
<td>An array of dictionaries, each describing a search result &#8220;impression.&#8221;</td>
<td>This is required if you would like to track impressions. See the example below.</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="/docs/searchstudio/searchstax-studio-multi-language-experiences/#default">default language</a>.</td>
<td>&#8220;en&#8221;, &#8220;fr&#8221;, or &#8220;es&#8221;</td>
</tr>
</tbody>
</table>
</figure>


<p>The optional array of impression dictionaries lets the Analytics App track the documents that were displayed to the user as search results, whether the user clicked on them or not. Use a javascript array to catalog the search results in the following format:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; title: ; notranslate">
var impressions = &#x5B;
   {&#039;cDocId&#039;: &#039;aDocId1&#039;, &#039;cDocTitle&#039;: &#039;aDocTitle1&#039;, &#039;position&#039;: 1},
   {&#039;cDocId&#039;: &#039;aDocId2&#039;, &#039;cDocTitle&#039;: &#039;aDocTitle2&#039;, &#039;position&#039;: 2},
];

</pre></div>


<p>where <strong>aDocId1</strong> is the ID of the document in position 1 and <strong>aDocTitle1</strong> is the title of the document in position 1. The <strong>position</strong> parameter is the absolute position of the document in the <em>full result list</em>. (If we&#8217;re showing ten items per page, the first result on the fifth page is in position 41.)</p>



<p>For example, your application might respond to a query by (1) passing the query to Solr, (2) parsing the result document, and (3) generating a search-page update containing a script like this one at the end of the &lt;body&gt; section:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; notranslate">
&lt;script&gt;
    var track = {
    &quot;key&quot;: &quot;imDMrs56aTaDJc6jihDejUkDZYj3Gm8riJHlR0&quot;,
    &quot;query&quot;: &quot;sitecore&quot;,
    &quot;shownHits&quot;: 3,
    &quot;totalHits&quot;: 12,
    &quot;pageNo&quot;: 1,
    &quot;latency&quot;: 1,
    &quot;session&quot;: &quot;Ll5UDHUQHccphnlb7lp6sQIo5&quot;,
    &quot;language&quot;: &quot;en&quot;,
    &quot;impressions&quot;: &#x5B;
      {&quot;cDocId&quot;: &quot;https://www.searchstax.com/videos/solr-cloud-best-practices-sitecore/&quot;,
        &quot;cDocTitle&quot;: &quot;Sitecore Solr Best Practices - SolrCloud SUGLA Meetup | SearchStax&quot;,
        &quot;position&quot;: 1
      },
      {
        &quot;cDocId&quot;: &quot;https://www.searchstax.com/solutions/sitecore-solr/&quot;,
        &quot;cDocTitle&quot;: &quot;Sitecore Solr Search: Get fast and relevant search results | SearchStax&quot;,
        &quot;position&quot;: 2
      },
      {
        &quot;cDocId&quot;: &quot;https://www.searchstax.com/case-studies/sitecore-solr-search-azure-isango/&quot;,
        &quot;cDocTitle&quot;: &quot;Case Study Isango!&quot;,
        &quot;position&quot;: 3
      }
    ],
  }}
    if(track.query != &#039;&#039;) {
        _msq.push(&#x5B;&#039;track&#039;, track]);
}
&lt;/script&gt;


</pre></div>


<p>In this way, your application can push a description of the search to your Analytics App by automatically calling the <strong>_msq.push()</strong> function as soon as the updated search page is viewed by the user.</p>



<p>&nbsp;&nbsp;</p>



<p>&nbsp;&nbsp;</p>



<p>&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="track-related-searches-and-impressions">Track Related Searches and Impressions</h2>



<p>To track related searches, use <strong>_msq.push()</strong> and dispatch a <strong>trackRelatedSearch</strong> event as part of parsing the response document.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; title: ; notranslate">
_msq.push(&#x5B;&#039;trackRelatedSearch&#039;, { 
   key: &quot;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&quot;, 
   user: &quot;smith123&quot;, 
   session: &quot;XDJFNS355FGDFVVDFG&quot;, 
   query: &quot;sitecore plugin&quot;, 
   shownHits: 10, 
   latency: 150, 
   impressions: impressions,
   language: &quot;en&quot;
   
}]);

</pre></div>

<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key</td>
<td>&#8216;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&#8217;</td>
</tr>
<tr>
<td><strong>user:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>A token identifying the webpage user. This datum is stored but is not currently used.</td>
<td>&#8216;smith123&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;XDJFNS355FGDFVVDFG&#8217;</td>
</tr>
<tr>
<td><strong>query:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The query string from your search page, or <strong>q</strong> from the response document.</td>
<td>&#8216;sitecore plugin&#8217;</td>
</tr>
<tr>
<td><strong>shownHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits shown in the response document.</td>
<td>10</td>
</tr>
<tr>
<td><strong>latency:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of milliseconds to execute a search. You define the semantics. (One possibility is to use Qtime from the response document). Without this value, Analytics will not calculate average latency.</td>
<td>150</td>
</tr>
<tr>
<td><strong>impressions:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />array</td>
<td>An array of dictionaries, each describing a search result &#8220;impression.&#8221;</td>
<td>This is required if you would like to track impressions. See the example below.</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="/docs/searchstudio/searchstax-studio-multi-language-experiences/#default">default language</a>.</td>
<td>&#8220;en&#8221;, &#8220;fr&#8221;, or &#8220;es&#8221;</td>
</tr>
</tbody>
</table>
</figure>


<p>The optional array of impression dictionaries lets the Analytics App track the&nbsp;related searches&nbsp;that were displayed to the user as&nbsp;related&nbsp;search results, whether the user clicked on them or not. Use a javascript array to catalog the&nbsp;related&nbsp;search results in the following format</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; title: ; notranslate">
var impressions = &#x5B;
   {&#039;relatedSearch&#039;: &#039;relatedTerm1&#039;, &#039;position&#039;: 1},
   {&#039;relatedSearch&#039;: &#039;relatedTerm2&#039;, &#039;position&#039;: 2},
];

</pre></div>


<p>where&nbsp;<strong>relatedTerm1</strong>&nbsp;is the returned related search term in position 1.</p>



<p>&nbsp;&nbsp;</p>



<p>&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="track-clicks">Track Clicks</h2>



<p>To start generating data around click-through events, search quality and relevance, have <strong>_msq.push()</strong> send <strong>trackClick</strong> events to the Analytics App.</p>



<p>In your search-results page, add an <strong>on-click</strong> event in the link to each search result.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; notranslate">
_msq.push(&#x5B;&#039;trackClick&#039;, { 
   session: &#039;Ll5UDHUQHccphnlb7lp6sQIo5&#039;, 
   key: &#039;imDMrs56aTaDJc6jihDejUkDZYj3Gm8riJHlR0&#039;, 
   query: &#039;sitecore&#039;, 
   position: 2, 
   cDocId: &#039;https://www.searchstax.com/solutions/sitecore-solr/&#039;, 
   cDocTitle: &#039;Sitecore Solr Search: Get fast and relevant search results | SearchStax&#039;, 
   pageNo: 1, 
   shownHits: 3, 
   totalHits: 12,
   language: &quot;en&quot;
}]);

</pre></div>

<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key</td>
<td>&#8216;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&#8217;</td>
</tr>
<tr>
<td><strong>user:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>A token identifying the webpage user. This datum is stored but is not currently used.</td>
<td>&#8216;smith123&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;XDJFNS355FGDFVVDFG&#8217;</td>
</tr>
<tr>
<td><strong>query:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The query string from your search page, or <strong>q</strong> from the response document.</td>
<td>&#8216;sitecore plugin&#8217;</td>
</tr>
<tr>
<td><strong>cDocId:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The document ID from the response document.</td>
<td>&#8216;<a href="/solutions/sitecore-solr/">https://www.searchstax.com/solutions/sitecore-solr/</a>&#8216;</td>
</tr>
<tr>
<td><strong>cDocTitle</strong><br /><span class="has-inline-color" style="color: #32cd32;"><span class="has-inline-color" style="color: #ff0000;">required</span></span><br />string</td>
<td>The document title from the response document. Note: In some applications, the document title may change. Analytics can be calculated as long as cDocID remains constant.</td>
<td>&#8216;Sitecore Solr Search: Get fast and relevant search results | SearchStax&#8217;</td>
</tr>
<tr>
<td><strong>position:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />number</td>
<td>Absolute position of the document in the full list of results. If we&#8217;re showing ten items per page, the first result on the 5th page is position in position 41. First item on the first page has position as 1</td>
<td>41</td>
</tr>
<tr>
<td><strong>pageNo:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The page number of the displayed results, from the response document.</td>
<td>1</td>
</tr>
<tr>
<td><strong>pageUrl:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>The URL of the page that is sending the tracking request</td>
<td>&#8216;https://searchstudio.searchstax.com/search&#8217;</td>
</tr>
<tr>
<td><strong>shownHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits shown in the response document.</td>
<td>10</td>
</tr>
<tr>
<td><strong>totalHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits in the index, from the response document.</td>
<td>1890</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="/docs/searchstudio/searchstax-studio-multi-language-experiences/#default">default language</a>.</td>
<td>&#8220;en&#8221;, &#8220;fr&#8221;, or &#8220;es&#8221;</td>
</tr>
</tbody>
</table>
</figure>


<p>&nbsp;</p>



<p>&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="track-related-search-clicks">Track Related Search Clicks</h2>



<p>To start generating data around click-through events, search quality and relevance, have <strong>_msq.push()</strong> send <strong>trackRelatedSearchClick</strong> events to the Analytics App.</p>



<p>In your search-results page, add an <strong>on-click</strong> event in the link to each search result.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; notranslate">
_msq.push(&#x5B;&#039;trackRelatedSearchClick&#039;, { 
   session: &#039;Ll5UDHUQHccphnlb7lp6sQIo5&#039;, 
   key: &#039;imDMrs56aTaDJc6jihDejUkDZYj3Gm8riJHlR0&#039;, 
   query: &#039;sitecore&#039;, 
   position: 2, 
   relatedSearch: &#039;sitecore 7&#039;, 
   pageNo: 1, 
   shownHits: 3, 
   totalHits: 12,
   language: &quot;en&quot;
}]);

</pre></div>

<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key</td>
<td>&#8216;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&#8217;</td>
</tr>
<tr>
<td><strong>user:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>A token identifying the webpage user. This datum is stored but is not currently used.</td>
<td>&#8216;smith123&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;XDJFNS355FGDFVVDFG&#8217;</td>
</tr>
<tr>
<td><strong>query:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The query string from your search page, or <strong>q</strong> from the response document.</td>
<td>&#8216;sitecore plugin&#8217;</td>
</tr>
<tr>
<td><strong>position:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />number</td>
<td>Absolute position of the related search in the full list of results. If we’re showing ten related searches per page, the first related search on the 5th page is position in position 41. First related search on the first page has position as 1</td>
<td>41</td>
</tr>
<tr>
<td><strong>relatedSearch:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>The related search term that was clicked on.</td>
<td>&#8216;sitecore 7&#8217;</td>
</tr>
<tr>
<td><strong>pageNo:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The page number of the displayed results, from the response document.</td>
<td>1</td>
</tr>
<tr>
<td><strong>pageUrl:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>The URL of the page that is sending the tracking request</td>
<td>&#8216;https://searchstudio.searchstax.com/search&#8217;</td>
</tr>
<tr>
<td><strong>shownHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits shown in the response document.</td>
<td>10</td>
</tr>
<tr>
<td><strong>totalHits:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />number</td>
<td>The number of hits in the index, from the response document.</td>
<td>1890</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="/docs/searchstudio/searchstax-studio-multi-language-experiences/#default">default language</a>.</td>
<td>&#8220;en&#8221;, &#8220;fr&#8221;, or &#8220;es&#8221;</td>
</tr>
</tbody>
</table>
</figure>


<p>&nbsp;&nbsp;</p>



<p>&nbsp;</p>



<p>&nbsp;&nbsp;</p>



<h2 class="wp-block-heading" id="track-search-satisfaction">Track Search Satisfaction</h2>



<p>SearchStax provides the ability to collect qualitative feedback about the search experience using <strong>trackSearchSatisfaction</strong>.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; notranslate">
_msq.push(&#x5B;&#039;trackSearchSatisfaction&#039;, {
    key: &#039;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&#039;,
    email: &#039;user1@demo.searchstax.com&#039;,
    score: 10,
    comments: &#039;Very good search experience&#039;,
    session: &#039;XDJFNS355FGDFVVDFG&#039;,
    language: &#039;en&#039;
}]);

</pre></div>

<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>Unique Analytics API Key.</td>
<td>&#8216;4Qp1Sv9MnALbAGbixW9ZaWrHxpbfwm6i&#8217;</td>
</tr>
<tr>
<td><strong>session:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>The ID of the <a href="https://stackoverflow.com/questions/920670/read-session-id-using-javascript">web session</a> or mobile application session.</td>
<td>&#8216;XDJFNS355FGDFVVDFG&#8217;</td>
</tr>
<tr>
<td><strong>email:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>Email ID of the user submitting the feedback</td>
<td>&#8216;user123@demo.searchstax.com&#8217;</td>
</tr>
<tr>
<td><strong>comments:</strong><br /><span class="has-inline-color" style="color: #32cd32;">optional</span><br />string</td>
<td>Feedback about the search experience as a comment</td>
<td>&#8216;Very good search experience&#8217;</td>
</tr>
<tr>
<td><strong>score:</strong><br /><span class="has-inline-color" style="color: #ff0000;">required</span><br />string</td>
<td>0-10 score, rating the search experience</td>
<td>10</td>
</tr>
</tbody>
</table>
</figure>


<p>The searchFeedback events are used to compute the NPS score (Net {Promoter Score) for your Search Application. </p>



<p>&nbsp;&nbsp;</p>



<p>&nbsp;&nbsp;</p>



<h2 id="debug-analytics">Debugging Analytics APIs</h2>



<p>You can use any browser debugging tools to debug the calls being made to the Analytics server. In Chrome, you can right click on the page, click on &#8220;Inspect&#8221; and look at the Network tab for calls made to the &#8216;analyticsBaseUrl&#8217;. Have &#8216;Preserve log&#8217; checked so you can track clicks as they open in new pages.</p>



<p>The Analytics APIs will look like:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://app.searchstax.com/api/v2/track/?data=eyJldmVudCI6Il9zZWFyY2hjbGljayIsInByb3BlcnRpZXMiOnsia2V5IjoiaW1ETXJzNTZhVGFESmM2amloRGVqVWtEWllqM0dtOHJpSkhsUjBWMVM1OCIsInF1ZXJ5Ijoic2l0ZWNvcmUiLCJzaG93bkhpdHMiOjksInRvdGFsSGl0cyI6MTMxLCJwYWdlTm8iOjEsImxhdGVuY3kiOjExLCJzZXNzaW9uIjoiNnNmN09GSWJRSlp1cU92ZU1VdUkyOW5SMSIsImNEb2NJZCI6Imh0dHBzOi8vd3d3LnNlYXJjaHN0YXguY29tL3NvbHV0aW9ucy9zaXRlY29yZS1zb2xyLyIsImNEb2NUaXRsZSI6IlNpdGVjb3JlIFNvbHIgU2VhcmNoOiBHZXQgZmFzdCBhbmQgcmVsZXZhbnQgc2VhcmNoIHJlc3VsdHMgfCBTZWFyY2hTdGF4IiwicG9zaXRpb24iOjEsIl92aWQiOiIxYzkwZWQ3MS1lZjljLTVlNjAtNGJlNS1jODI4OWYwMWJkYzkiLCJ0dCI6MTYxNzA2NjQwODAxMiwicGFnZVVybCI6Imh0dHBzJTNBJTJGJTJGd3d3LnNlYXJjaHN0YXguY29tJTJGc2VhcmNoJTNGc2VhcmNoU3R1ZGlvUXVlcnklM0RzaXRlY29yZSUyNnN0eWxlJTNEdHJ1ZSUyNmZhY2V0cyUzRCUyNnNvcnQlM0QlMjZzdGFydCUzRDAlMjZmYWNldENvbnRlbnQlMjUyMFR5cGUlM0QxJTI2ZmFjZXRBdXRob3IlM0QxJTI2ZmFjZXRLZXl3b3JkcyUzRDEifX0=
</pre></div>


<p>The argument to &#8220;data&#8221; is Base64 encoded properties. You can use online base64 decoders like <a href="https://www.base64decode.org/">https://www.base64decode.org/</a> to decode them to view the JSON data being passed</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Studio%3A%20Tracking%20API%20%28Javascript%29" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-javascript-tracking-api/">Tracking API (Javascript)</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Reporting API (REST)</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstax-studio-reporting-api-rest/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Fri, 05 Aug 2022 20:27:45 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=12300</guid>

					<description><![CDATA[<p>Analytics Reporting REST API This page describes how a SearchStax Site Search solution Enterprise Plan client can use the&#160;SearchStax®&#160;Analytics Tracking REST API to retrieve search events and items from the&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-reporting-api-rest/">Continue reading <span class="screen-reader-text">Reporting API (REST)</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-reporting-api-rest/">Reporting API (REST)</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-analytics-reporting-rest-api">Analytics Reporting REST API</h1>



<hr class="wp-block-separator has-css-opacity"/>



<p>This page describes how a SearchStax Site Search solution Enterprise Plan client can use the&nbsp;SearchStax<sup>®</sup>&nbsp;Analytics <strong>Tracking REST API</strong> to retrieve search events and items from the Search App.</p>



<p>The Tracking REST API can also perform <a href="/docs/searchstudio/serchstax-studio-power-search/">Custom Reports</a> searches.  </p>



<p></p>



<pre class="wp-block-preformatted">  </pre>



<p></p>



<h2 class="wp-block-heading" id="h-reporting-url-and-key">Reporting URL and Key</h2>



<p>Navigate to the <strong>Site Search &gt; App Settings &gt; All APIs &gt; Analytics</strong> screen. This screen displays the <strong>Analytics Reporting API Endpoint</strong> and the <strong>Analytics Reporting API Key</strong>. The key is used to identify the Search App.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="480" height="242" src="https://demo.searchstax.com/docs/wp-content/uploads/2022/08/image-67.png" alt="" class="wp-image-20982" srcset="https://demo.searchstax.com/docs/wp-content/uploads/2022/08/image-67.png 480w, https://demo.searchstax.com/docs/wp-content/uploads/2022/08/image-67-300x151.png 300w" sizes="(max-width: 480px) 100vw, 480px" /></figure></div>


<p>The <strong>Analytics Reporting API Endpoint</strong> is <strong>https://analytics-us.searchstax.com</strong>.</p>



<p></p>



<h2 class="wp-block-heading" id="h-reports">Reports</h2>



<p>The Analytics Reporting REST API supports the following reporting actions:</p>



<ul class="wp-block-list">
<li><a href="#h-report-searches">Searches</a> </li>



<li><a href="#h-report-items">Content Items</a></li>



<li><a href="#h-PS-searches">Custom Reports (Searches)</a></li>



<li><a href="#h-power-search-items">Custom Reports (Content Items)</a></li>
</ul>



<p>Each type of report has its own set of required properties, which are detailed below. </p>



<h2 class="wp-block-heading" id="h-report-searches">Report Searches</h2>



<p>To create a report of Most-Popular Searches, No-Result Searches, and No-Click Searches, use a cURL command in this general format:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
curl &#039;&lt;Reporting API Endpoint&gt;/api/rest/analytics/v1/reporting/searches/searches&#039; -H &#039;authorization: Token &lt;Key&gt;&#039;
</pre></div>


<p>A fully-expanded example resembles this:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
curl &#039;https://analytics-us.searchstax.com/api/rest/analytics/v1/reporting/searches/searches?&amp;startDate=2022-02-06T07:00:00&amp;endDate=2022-02-28T06:59:59&amp;offset=0&amp;limit=10&amp;language=en&#039; -H &#039;authorization: Token 4Qp1Sv9MnALbAGbixW9ZaW95338fwm6i&#039;
</pre></div>


<p></p>


<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>Unique Analytics Reporting API Key</td>
<td>4Qp1Sv9MnALbAGbixW9ZaW95338fwm6i</td>
</tr>
<tr>
<td><strong>startDate:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark></mark><br />datetime</td>
<td>The date and time (UTC) of the earliest events in the report. Defaults to the last 31 days.</td>
<td>2022-02-06T07:00:00</td>
</tr>
<tr>
<td><strong>endDate:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>The date and time (UTC) of the latest events in the report. Default to the last 31 days. Max end date is 31 days after the start date.</td>
<td>2022-02-28T06:59:59</td>
</tr>
<tr>
<td><strong>offset:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark></mark><br />number</td>
<td>This index begins at 0. It is used for how far down in the results for most popular searches, no result searches, and searches with no clicks tables to start collecting in the report. Defaults to 0.</td>
<td>0</td>
</tr>
<tr>
<td><strong>limit:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />number</td>
<td>This number begins at 0. It is used for how far down in the results for most popular searches, no result searches, and searches with no clicks tables to end the collection of data in the report.Defaults to the end of the results.</td>
<td>10</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="/docs/searchstudio/searchstax-studio-multi-language-experiences/#default">default language</a>.</td>
<td>en</td>
</tr>
</tbody>
</table>
</figure>


<p>The returned value is a JSON document describing searches. The parameters map into the values shown in the Site Search <a href="/docs/searchstudio/searchstax-studio-searches/">Searches</a> screen. A partial sample is shown below.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
{
  &quot;aggMetrics&quot;: &#x5B;
    {
      &quot;resultSearchCount&quot;: 58,
      &quot;totalSearchCount&quot;: 61,
      &quot;clickThroughRate&quot;: 36.0655737704918,
      &quot;clickCount&quot;: 21,
      &quot;sessionCount&quot;: 7,
      &quot;sessionWithSearchCount&quot;: 6,
      &quot;sessionWithSearchPercent&quot;: 85.71428571428571,
      &quot;avgClickPosition&quot;: 2.380952380952381,
      &quot;meanReciprocalRank&quot;: 0.6373015873015873,
      &quot;noResultSearchCount&quot;: 3,
      &quot;noResultSearchPercent&quot;: 4.918032786885246,
      &quot;searchWithClickCount&quot;: 22,
      &quot;searchExitCount&quot;: 1,
      &quot;searchExitPercent&quot;: 14.285714285714285,
      &quot;searchPerSessionCount&quot;: 8.714285714285714,
      &quot;startDate&quot;: &quot;2022-02-06T07:00:00+00:00&quot;,
      &quot;endDate&quot;: &quot;2022-02-28T06:59:59+00:00&quot;
    }
  ],
  &quot;topNoClickSearches&quot;: &#x5B;
    {
      &quot;searchCount&quot;: 6,
      &quot;sumClicks&quot;: 0,
      &quot;clickThroughRate&quot;: 0,
      &quot;avgLatency&quot;: 21.166666666666668,
      &quot;avgHits&quot;: 403,
      &quot;query&quot;: &quot;search&quot;,
      &quot;ofTotal&quot;: 9.836065573770492
    },
    {
      &quot;searchCount&quot;: 5,
      &quot;sumClicks&quot;: 0,
      &quot;clickThroughRate&quot;: 0,
      &quot;avgLatency&quot;: 121.2,
      &quot;avgHits&quot;: 80,
      &quot;query&quot;: &quot;drupal&quot;,
      &quot;ofTotal&quot;: 8.19672131147541
    },
    {
      &quot;searchCount&quot;: 5,
      &quot;sumClicks&quot;: 0,
      &quot;clickThroughRate&quot;: 0,
      &quot;avgLatency&quot;: 18.4,
      &quot;avgHits&quot;: 173,
      &quot;query&quot;: &quot;sitecore plugin&quot;,
      &quot;ofTotal&quot;: 8.19672131147541
    },

</pre></div>


<h2 class="wp-block-heading" id="h-report-content-items">Report Content Items</h2>



<p>To create a report of Most-Clicked and Least-Clicked Content Items, use a cURL command in this general format:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
curl &#039;&lt;Analytics Reporting API Endpoint&gt;/api/rest/analytics/v1/reporting/clicks/clicks&#039; -H &#039;authorization: Token &lt;Key&gt;&#039; 
</pre></div>


<p>A fully-expanded example resembles this:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
curl &#039;https://analytics-us.searchstax.com/api/rest/analytics/v1/reporting/clicks/clicks?&amp;startDate=2022-02-06T07:00:00&amp;endDate=2022-02-28T06:59:59&amp;offset=0&amp;limit=10&amp;language=en&#039; -H &#039;authorization: Token V3B2XGcj9nmA8cMJiEp5UURb1eZzQMiKL953384dszU&#039;
</pre></div>


<p></p>


<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>Unique Analytics Reporting API Key</td>
<td>4Qp1Sv9MnALbAGbixW9ZaW95338fwm6i</td>
</tr>
<tr>
<td><strong>startDate:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark></mark><br />datetime</td>
<td>The date and time (UTC) of the earliest events in the report. Defaults to the last 31 days.</td>
<td>2022-02-06T07:00:00</td>
</tr>
<tr>
<td><strong>endDate:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>The date and time (UTC) of the latest events in the report. Default to the last 31 days. Max end date is 31 days after the start date.</td>
<td>2022-02-28T06:59:59</td>
</tr>
<tr>
<td><strong>offset:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark></mark><br />number</td>
<td>This index begins at 0. It is used for how far down in the results for most popular searches, no result searches, and searches with no clicks tables to start collecting in the report. Defaults to 0.</td>
<td>0</td>
</tr>
<tr>
<td><strong>limit:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />number</td>
<td>This number begins at 0. It is used for how far down in the results for most popular searches, no result searches, and searches with no clicks tables to end the collection of data in the report.Defaults to the end of the results.</td>
<td>10</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="/docs/searchstudio/searchstax-studio-multi-language-experiences/#default">default language</a>.</td>
<td>en</td>
</tr>
</tbody>
</table>
</figure>


<p>The returned value is a JSON document describing items. The parameters map into the values shown in the Site Search <a href="/docs/searchstudio/searchstax-studio-items/">Content Items</a> screen. A partial sample is shown below.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
{
  &quot;aggMetrics&quot;: &#x5B;
    {
      &quot;impressionCount&quot;: 663,
      &quot;clickCount&quot;: 21,
      &quot;contentClickThroughRate&quot;: 3.167420814479638,
      &quot;avgClickPosition&quot;: 2.380952380952381,
      &quot;startDate&quot;: &quot;2022-02-06T07:00:00+00:00&quot;,
      &quot;endDate&quot;: &quot;2022-02-28T06:59:59+00:00&quot;
    }
  ],
  &quot;mostClicked&quot;: &#x5B;
    {
      &quot;clickCount&quot;: 1,
      &quot;ofTotal&quot;: 4.761904761904762,
      &quot;cDocId&quot;: &quot;095c1ffe-d2bb-4bc3-82ae-8c13075e5021&quot;,
      &quot;cDocTitle&quot;: &quot;Microsoft Azure | SearchStax Partners&quot;,
      &quot;impressionCount&quot;: 2,
      &quot;contentClickThroughRate&quot;: 50,
      &quot;avgClickPosition&quot;: 2
    },
    {
      &quot;clickCount&quot;: 1,
      &quot;ofTotal&quot;: 4.761904761904762,
      &quot;cDocId&quot;: &quot;0a13ade1-da89-4a78-9531-50efacfc48b4&quot;,
      &quot;cDocTitle&quot;: &quot;Sitecore 10.0 - SearchStax Docs&quot;,
      &quot;impressionCount&quot;: 7,
      &quot;contentClickThroughRate&quot;: 14.285714285714285,
      &quot;avgClickPosition&quot;: 5
    },
    {
      &quot;clickCount&quot;: 1,
      &quot;ofTotal&quot;: 4.761904761904762,
      &quot;cDocId&quot;: &quot;1115779e-6aa5-456c-bb39-2a372c589bd6&quot;,
      &quot;cDocTitle&quot;: &quot;Solr Version Policy | SearchStax&quot;,
      &quot;impressionCount&quot;: 1,
      &quot;contentClickThroughRate&quot;: 100,
      &quot;avgClickPosition&quot;: 3
    },


</pre></div>


<h2 class="wp-block-heading" id="h-custom-reports-searches">Custom Reports (Searches)</h2>



<p>To perform a Custom Reports search of Searches using the REST API, use a cURL command in this general format:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
curl &#039;&lt;Reporting API Endpoint&gt;/api/rest/analytics/v1/reporting/searches/power-search/searches?&amp;filterName=&lt;Filter Name&gt;&amp;filterOperator=&lt;Filter Operator&gt;&amp;filterValue=&lt;Filter Value&gt;&amp;ordering=&lt;Ordering&gt;&#039; -H &#039;authorization: Token &lt;Key&gt;&#039;  
</pre></div>


<p>A fully-expanded example resembles this:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
curl &#039;https://analytics-us.searchstax.com/api/rest/analytics/v1/reporting/searches/power-search/searches?filterName=clickThroughRate&amp;filterOperator=gt&amp;filterValue=3&amp;ordering=-clickThroughRate&amp;startDate=2022-02-06T07:00:00&amp;endDate=2022-02-28T06:59:59&amp;offset=0&amp;limit=10&amp;language=en&#039; -H &#039;authorization: Token V3B2XGcj9nmA8cMJiEp5UURb1eZzQMiKL953384dszU&#039;
</pre></div>


<p>Note that you can use up to three <strong>filterName=&#8221;name&#8221;&amp;filterOperator=&#8221;operator&#8221;&amp;filterValue=&#8221;value&#8221;</strong> constructions in sequence to apply multiple filters. </p>


<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>Unique Analytics Reporting API Key</td>
<td>4Qp1Sv9MnALbAGbixW9ZaW95338fwm6i</td>
</tr>
<tr>
<td><strong>filterName:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>The name of the filter as seen on the <a href="/docs/searchstudio/serchstax-studio-power-search/">Custom Reports</a> screen.</td>
<td>clickThroughRate<br />avgHits<br />searchCount<br />sumClicks<br />avgClickPosition<br />avgLatency</td>
</tr>
<tr>
<td><strong>filterOperator</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>The filter operator to be applied. Must appear between filterName and filterValue.</td>
<td>gt<br />gte<br />lt<br />lte<br />eq</td>
</tr>
<tr>
<td><strong>filterValue</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />number</td>
<td>The value that the filter will test.</td>
<td>50</td>
</tr>
<tr>
<td><strong>ordering</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>The results are ordered by the filterName specified. This defaults to sort by ascending. Applying a ‘-’ before the filterName will produce a descending sort.</td>
<td>-clickThroughRate</td>
</tr>
<tr>
<td><strong>startDate:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark></mark><br />datetime</td>
<td>The date and time (UTC) of the earliest events in the report. Defaults to the last 31 days.</td>
<td>2022-02-06T07:00:00</td>
</tr>
<tr>
<td><strong>endDate:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>The date and time (UTC) of the latest events in the report. Default to the last 31 days. Max end date is 31 days after the start date.</td>
<td>2022-02-28T06:59:59</td>
</tr>
<tr>
<td><strong>offset:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark></mark><br />number</td>
<td>This index begins at 0. It is used for how far down in the results for most popular searches, no result searches, and searches with no clicks tables to start collecting in the report. Defaults to 0.</td>
<td>0</td>
</tr>
<tr>
<td><strong>limit:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />number</td>
<td>This number begins at 0. It is used for how far down in the results for most popular searches, no result searches, and searches with no clicks tables to end the collection of data in the report. Defaults to the end of the results.</td>
<td>10</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="/docs/searchstudio/searchstax-studio-multi-language-experiences/#default">default language</a>.</td>
<td>en</td>
</tr>
</tbody>
</table>
</figure>


<p>The returned value is a JSON document describing searches. The parameters map into the values shown in the Site Search <a href="/docs/searchstudio/serchstax-studio-power-search/">Custom Reports</a> screen. A partial sample is shown below.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
{
  &quot;results&quot;: &#x5B;
    {
      &quot;searchCount&quot;: 1,
      &quot;sumClicks&quot;: 3,
      &quot;clickThroughRate&quot;: 100,
      &quot;avgLatency&quot;: 34,
      &quot;avgHits&quot;: 67,
      &quot;query&quot;: &quot;partner&quot;,
      &quot;ofTotal&quot;: 1.639344262295082,
      &quot;avgClickPosition&quot;: 2.3333333333333335
    },
    {
      &quot;searchCount&quot;: 1,
      &quot;sumClicks&quot;: 2,
      &quot;clickThroughRate&quot;: 100,
      &quot;avgLatency&quot;: 39,
      &quot;avgHits&quot;: 35,
      &quot;query&quot;: &quot;private&quot;,
      &quot;ofTotal&quot;: 1.639344262295082,
      &quot;avgClickPosition&quot;: 2.5
    },
    {
      &quot;searchCount&quot;: 1,
      &quot;sumClicks&quot;: 3,
      &quot;clickThroughRate&quot;: 100,
      &quot;avgLatency&quot;: 69,
      &quot;avgHits&quot;: 432,
      &quot;query&quot;: &quot;solr&quot;,
      &quot;ofTotal&quot;: 1.639344262295082,
      &quot;avgClickPosition&quot;: 2
    },


</pre></div>


<h2 class="wp-block-heading" id="h-custom-reports-content-items">Custom Reports (Content Items)</h2>



<p>To perform an Custom Reports search of Content Items using the REST API, use a cURL command in this general format:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
curl &#039;&lt;Reporting API Endpoint&gt;/api/rest/analytics/v1/reporting/clicks/power-search/clicks?&amp;filterName=&lt;Filter Name&gt;&amp;filterOperator=&lt;Filter Operator&gt;&amp;filterValue=&lt;Filter Value&gt;&amp;ordering=&lt;Ordering&gt;&#039; -H &#039;authorization: Token &lt;Key&gt;&#039;  
</pre></div>


<p>A fully-expanded example resembles this:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
curl &#039;https://analytics-us.searchstax.com/api/rest/analytics/v1/reporting/clicks/power-search/clicks?filterName=contentClickThroughRate&amp;filterOperator=lte&amp;filterValue=20&amp;ordering=-contentClickThroughRate&amp;startDate=2022-02-06T07:00:00&amp;endDate=2022-02-28T06:59:59&amp;offset=0&amp;limit=10&amp;language=en&#039; -H &#039;authorization: Token V3B2XGcj9nmA8cMJiEp5UURb1eZzQMiKL953384dszU&#039;
</pre></div>


<p>Note that you can use up to three <strong>filterName=&#8221;name&#8221;&amp;filterOperator=&#8221;operator&#8221;&amp;filterValue=&#8221;value&#8221;</strong> constructions in sequence to apply multiple filters. </p>


<figure class="wp-block-table table table-bordered table-striped">
<table>
<thead>
<tr>
<th><strong>Parameter</strong></th>
<th><strong>Description</strong></th>
<th><strong>Example</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>key:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>Unique Analytics Reporting API Key</td>
<td>4Qp1Sv9MnALbAGbixW9ZaW95338fwm6i</td>
</tr>
<tr>
<td><strong>filterName:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>The name of the filter as seen on the <a href="/docs/searchstudio/serchstax-studio-power-search/">Power Search</a> screen.</td>
<td>contentClickThroughRate<br />impressionCount<br />clickCount</td>
</tr>
<tr>
<td><strong>filterOperator</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>The filter operator to be applied. Must appear between filterName and filterValue.</td>
<td>gt<br />gte<br />lt<br />lte<br />eq</td>
</tr>
<tr>
<td><strong>filterValue</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />number</td>
<td>The value that the filter will test.</td>
<td>50</td>
</tr>
<tr>
<td><strong>ordering</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;">required</mark><br />string</td>
<td>The results are ordered by the filterName specified. This defaults to sort by ascending. Applying a ‘-’ before the filterName will produce a descending sort.</td>
<td>-contentClickThroughRate</td>
</tr>
<tr>
<td><strong>startDate:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark></mark><br />datetime</td>
<td>The date and time (UTC) of the earliest events in the report. Defaults to the last 31 days.</td>
<td>2022-02-06T07:00:00</td>
</tr>
<tr>
<td><strong>endDate:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>The date and time (UTC) of the latest events in the report. Default to the last 31 days. Max end date is 31 days after the start date.</td>
<td>2022-02-28T06:59:59</td>
</tr>
<tr>
<td><strong>offset:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #ff0000;"><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark></mark><br />number</td>
<td>This index begins at 0. It is used for how far down in the results for most popular searches, no result searches, and searches with no clicks tables to start collecting in the report. Defaults to 0.</td>
<td>0</td>
</tr>
<tr>
<td><strong>limit:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />number</td>
<td>This number begins at 0. It is used for how far down in the results for most popular searches, no result searches, and searches with no clicks tables to end the collection of data in the report. Defaults to the end of the results.</td>
<td>10</td>
</tr>
<tr>
<td><strong>language:</strong><br /><mark class="has-inline-color" style="background-color: rgba(0, 0, 0, 0); color: #32cd32;">optional</mark><br />string</td>
<td>A two-letter language code. Defaults to the <a href="/docs/searchstudio/searchstax-studio-multi-language-experiences/#default">default language</a>.</td>
<td>en</td>
</tr>
</tbody>
</table>
</figure>


<p>The returned value is a JSON document describing items. The parameters map into the values shown in the Site Search <a href="/docs/searchstudio/serchstax-studio-power-search/">Custom Reports</a> screen. A partial sample is shown below.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
{
  &quot;results&quot;: &#x5B;
    {
      &quot;clickCount&quot;: 1,
      &quot;ofTotal&quot;: 4.761904761904762,
      &quot;cDocId&quot;: &quot;0a13ade1-da89-4a78-9531-50efacfc48b4&quot;,
      &quot;cDocTitle&quot;: &quot;Sitecore 10.0 - SearchStax Docs&quot;,
      &quot;impressionCount&quot;: 7,
      &quot;contentClickThroughRate&quot;: 14.285714285714285,
      &quot;avgClickPosition&quot;: 5
    },
    {
      &quot;clickCount&quot;: 1,
      &quot;ofTotal&quot;: 4.761904761904762,
      &quot;cDocId&quot;: &quot;4e33c9c8-008a-43f9-bc08-85f8fc5e68c0&quot;,
      &quot;cDocTitle&quot;: &quot;Free Disk Space - SearchStax Docs&quot;,
      &quot;impressionCount&quot;: 7,
      &quot;contentClickThroughRate&quot;: 14.285714285714285,
      &quot;avgClickPosition&quot;: 1
    },
    {
      &quot;clickCount&quot;: 1,
      &quot;ofTotal&quot;: 4.761904761904762,
      &quot;cDocId&quot;: &quot;6289d367-00f2-4817-8659-00a5b0172ad3&quot;,
      &quot;cDocTitle&quot;: &quot;Sitecore Archives - SearchStax Docs&quot;,
      &quot;impressionCount&quot;: 18,
      &quot;contentClickThroughRate&quot;: 5.555555555555555,
      &quot;avgClickPosition&quot;: 1
    },

</pre></div>


<p></p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Studio%3A%20Reporting%20API%20%28REST%29" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-reporting-api-rest/">Reporting API (REST)</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Related Searches API</title>
		<link>https://demo.searchstax.com/docs/searchstudio/related-searches-api/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 21 Dec 2021 20:32:14 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=10430</guid>

					<description><![CDATA[<p>Related Searches API The SearchStax Site Search solution provides an API that retrieves the Related Searches defined for a specific search phrase in the Search App. Related Searches allows users&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/related-searches-api/">Continue reading <span class="screen-reader-text">Related Searches API</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/related-searches-api/">Related Searches API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Related Searches API</h1>



<hr class="wp-block-separator has-css-opacity"/>



<p>The SearchStax Site Search solution provides an API that retrieves the <a href="/docs/searchstudio/searchstax-studio-related-searches/">Related Searches</a> defined for a specific search phrase in the Search App.</p>



<p>Related Searches allows users to manually define Search terms that are related, and augments them from search terms learned using Artificial Intelligence using Analytics data. For the AI augmented related searches, Analytics should be connected with your Search page and there should be enough searches with clicks available.</p>



<p>This page describes how to retrieve a Json document of related-search strings for display on your search page.</p>



<p>The API can be accessed through any tool that assembles HTTP requests and dispatch them to a server. Among these would be the Python <a href="https://pypi.org/project/coreapi/">coreapi</a> package, the <a href="https://www.postman.com/">Postman</a> tool, and cURL. For Windows, use <a href="https://docs.microsoft.com/en-us/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7">PowerShell 7</a>.</p>



<p>Symbols enclosed in carets (&lt; and &gt;) such as&nbsp;<strong>&lt;username&gt;</strong>&nbsp;are metavariables. Substitute your local values when you encounter them in the examples.</p>



<h2 class="wp-block-heading" id="ipfiltering">Related Search</h2>



<p>This method returns a list of Related Searches from a Search App.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; quick-code: false; notranslate">
GET &amp;lt;related-searches-URL&gt;?search=&amp;lt;search-phrase&gt;
</pre></div>


<p>where&nbsp;<strong>&lt;related-searches-URL&gt;</strong>&nbsp;is an endpoint from the <a href="/docs/searchstudio/searchstax-studio-discovery-api-tab/">Discovery API Tab</a> of the App Settings screen, and&nbsp;<strong>&lt;search-phrase&gt;</strong>&nbsp;is the base query that has related searches defined on the <a href="https://demo.searchstax.com/docs/searchstudio/searchstudio-related-searches/">Related Searches</a> screen. </p>



<p>This method uses <strong>SearchAPIKey</strong>&nbsp;authorization. The Search API key is displayed on the <a href="https://demo.searchstax.com/docs/searchstudio/related-searches-api/">Discovery API Tab</a>. It must be passed in the header of the request. </p>



<p>When invoked from Linux (Bash script):</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; quick-code: false; notranslate">
URL=&quot;https://app.searchstax.com/api/v1/nn/related-search/&quot;
APIKEY=&quot;456cwe54sasb8e5lu5y6k48j55u95338slas&quot;
KEYWORD=&quot;sitecore&quot;

SEARCHES=$(curl -H &quot;Authorization: $APIKEY&quot; &quot;$URL?search=$KEYWORD&quot;) 

</pre></div>


<p>When invoked from Windows Powershell:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: powershell; auto-links: false; title: ; quick-code: false; notranslate">
# Removes TLS obstacles from connection. Otherwise connections fail. 
&#x5B;Net.ServicePointManager]::SecurityProtocol = &#x5B;Net.SecurityProtocolType]::Tls -bor &#x5B;Net.SecurityProtocolType]::Tls11 -bor &#x5B;Net.SecurityProtocolType]::Tls12

$URL = &quot;https://app.searchstax.com/api/v1/nn/related-search/&quot;
$APIKEY = &quot;81c09977fedb7e89310c87df81d7bc787301155e&quot;
$KEYWORD = &quot;Sitecore&quot;

# Set up HTTP header for authorization token
$headers = New-Object &quot;System.Collections.Generic.Dictionary&#x5B;&#x5B;String],&#x5B;String]]&quot;
$headers.Add(&quot;Authorization&quot;, $APIKEY)

$RESPONSE = Invoke-RestMethod -Method Get -ContentType &#039;application/json&#039; -Headers $headers `
              -uri $($URL+&quot;?search=$KEYWORD&quot;) 
$RESPONSE = $RESPONSE | ConvertTo-Json -Depth 3

Write-Host $RESPONSE
</pre></div>


<p>The response is a JSON document containing a list of related searches.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: jscript; auto-links: false; title: ; quick-code: false; notranslate">
{
  &quot;responseHeader&quot;: {
    &quot;zkConnected&quot;: true,
    &quot;status&quot;: 0,
    &quot;QTime&quot;: 0
  },
  &quot;response&quot;: {
    &quot;numFound&quot;: 5,
    &quot;start&quot;: 0,
    &quot;numFoundExact&quot;: true,
    &quot;docs&quot;: &#x5B;
      {
        &quot;search_term&quot;: &quot;sitecore&quot;,
        &quot;related_search&quot;: &quot;sitecore 10&quot;,
        &quot;related_score&quot;: 1
      },
      {
        &quot;search_term&quot;: &quot;sitecore&quot;,
        &quot;related_search&quot;: &quot;sitecore plugin&quot;,
        &quot;related_score&quot;: 1
      },
      {
        &quot;search_term&quot;: &quot;sitecore&quot;,
        &quot;related_search&quot;: &quot;sitecore replace azure&quot;,
        &quot;related_score&quot;: 1
      },
      {
        &quot;search_term&quot;: &quot;sitecore&quot;,
        &quot;related_search&quot;: &quot;site search for sitecore&quot;,
        &quot;related_score&quot;: 1
      },
      {
        &quot;search_term&quot;: &quot;sitecore&quot;,
        &quot;related_search&quot;: &quot;managed solr for sitecore&quot;,
        &quot;related_score&quot;: 1
      }
    ]
  }
}
</pre></div>


<p>The fields of each related search have the following meanings:</p>



<ul class="wp-block-list">
<li><strong>search_term:</strong> This is the search string that keys to the Related Searches. </li>



<li><strong>related_search:</strong> Each entry contains the string of a single Related Search. </li>



<li><strong>related_score:</strong> A measure of similarity to the search_term. The range of values is 0 to 1. Higher values are more similar. </li>
</ul>



<p></p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Studio%3A%20Related%20Searches%20API" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/related-searches-api/">Related Searches API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ingest API</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstax-studio-ingest-api/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Mon, 10 Jan 2022 20:41:10 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=10481</guid>

					<description><![CDATA[<p>Ingest API Site Search &#62; App Settings &#62; Data Management &#62; Ingest API The SearchStax Site Search solution&#8217;s Ingest API exposes the project&#8217;s /update endpoint. It lets you update Solr&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-ingest-api/">Continue reading <span class="screen-reader-text">Ingest API</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-ingest-api/">Ingest API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Ingest API</h1>



<hr class="wp-block-separator has-css-opacity"/>



<p><strong>Site Search &gt; App Settings &gt; Data Management &gt; Ingest API</strong></p>



<p>The SearchStax Site Search solution&#8217;s <strong>Ingest API</strong> exposes the project&#8217;s <strong>/update</strong> endpoint. It lets you update Solr documents in your Site Search project. For perspective on the advantages of using the Ingest API, see our <a href="https://www.searchstax.com/blog/data-ingestion-for-site-search/">Data Ingestion for Site Search</a> blog post.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="495" src="https://demo.searchstax.com/docs/wp-content/uploads/2022/01/image-77-1024x495.png" alt="" class="wp-image-21607" srcset="https://demo.searchstax.com/docs/wp-content/uploads/2022/01/image-77-1024x495.png 1024w, https://demo.searchstax.com/docs/wp-content/uploads/2022/01/image-77-300x145.png 300w, https://demo.searchstax.com/docs/wp-content/uploads/2022/01/image-77-768x371.png 768w, https://demo.searchstax.com/docs/wp-content/uploads/2022/01/image-77.png 1244w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>The <code>/update</code> endpoint uses the <strong>&#8220;Read-Write&#8221; Search API credentials</strong> from the <strong>Site Search &gt; App Settings &gt; All APIs &gt;</strong> <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api-tab/">Search &amp; Indexing</a> screen. </p>



&nbsp;&nbsp;



<h2 class="wp-block-heading" id="h-contents">Contents:</h2>



<ul class="wp-block-list">
<li><a href="#basic-search">Indexing JSON Documents</a></li>



<li><a href="#xml-documents">Indexing XML Documents</a></li>



<li><a href="#h-indexing-csv-documents">Indexing CSV Documents</a></li>



<li><a href="#delete-documents">Deleting Documents</a></li>



<li><a href="#api-limits">API Limits</a></li>
</ul>



&nbsp;&nbsp;



<h2 class="wp-block-heading" id="json-documents">Indexing JSON Documents</h2>



<p>For indexing a single JSON document, pass the JSON document to the <code>/update</code> endpoint as shown below:</p>



<p>For apps using <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api-tab/#token-auth">Token Authentication</a>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
curl -H &quot;Authorization: Token b70dacf3956e6e148393fbfREDACTED&quot; -X POST -H &#039;Content-type:application/json&#039; --data-binary &#039;{&quot;id&quot;:&quot;1&quot;}&#039; &quot;https://searchcloud-2-us-east-1.searchstax.com/12345/custom-1234/update?commit=true&quot;
</pre></div>


<p>For app using <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api-tab/#basic-auth">Basic Authentication</a>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
curl -X POST -H &#039;Content-Type: application/json&#039; &#039;https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/update/json/docs&#039; --user app40-admin:REDACTEDPWD --data-binary &#039;
{
  &quot;id&quot;: &quot;1&quot;,
  &quot;title&quot;: &quot;Doc 1&quot;
}&#039;
</pre></div>


<p>Adding multiple documents can be done by passing an array of JSON objects to the <code>/update</code> endpoint as shown below</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
curl -H &quot;Authorization: Token b70dacf3956e6e148393fbfREDACTED&quot; -X POST -H &#039;Content-type:application/json&#039; --data-binary &#039;&#x5B;{&quot;id&quot;:&quot;1&quot;,&quot;title_t&quot;:&quot;Test Title&quot;,&quot;description_t&quot;:&quot;Testing&quot;,&quot;group_s&quot;:&quot;Token&quot;}]&#039; &quot;https://searchcloud-2-us-east-1.searchstax.com/12345/custom-1234/update?commit=true&quot;
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
curl -X POST -H &#039;Content-Type: application/json&#039; &#039;https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/update&#039; --user app40-admin:REDACTEDPWD --data-binary &#039;
&#x5B;
  {
    &quot;id&quot;: &quot;1&quot;,
    &quot;title&quot;: &quot;Doc 1&quot;
  },
  {
    &quot;id&quot;: &quot;2&quot;,
    &quot;title&quot;: &quot;Doc 2&quot;
  }
]&#039;
</pre></div>


<p><meta charset="utf-8">If the data is in a JSON file and contains an array of JSON objects, you can make a call to the <code>/update</code> endpoint as shown below</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
curl -H &quot;Authorization: Token b70dacf3956e6e148393fbfREDACTED&quot; -X POST -H &#039;Content-type:application/json&#039; --data-binary @example.json &quot;https://searchcloud-2-us-east-1.searchstax.com/12345/custom-1234/update?commit=true&quot;
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
curl -X POST -H &#039;Content-Type: application/json&#039; &#039;https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/update&#039; --user app40-admin:REDACTEDPWD --data-binary @example.json -H &#039;Content-type:application/json&#039;
</pre></div>


&nbsp;&nbsp;



<h2 class="wp-block-heading" id="xml-documents"><meta charset="utf-8">Indexing XML Documents</h2>



<p>To index XML documents, you can send one or multiple <code>&lt;add&gt;</code> tags to the <code>\update</code> request as shown below:</p>



<p>For apps using <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api-tab/#token-auth">Token Authentication</a>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
curl -H &quot;Authorization: Token b70dacf3956e6e148393fbfREDACTED&quot; -X POST -H &#039;Content-type:text/xml&#039; --data-binary 
 &#039;&amp;lt;add&gt;
    &amp;lt;doc&gt;
      &amp;lt;field name=&quot;id&quot;&gt;id1&amp;lt;/field&gt;
      &amp;lt;field name=&quot;title&quot;&gt;Document1&amp;lt;/field&gt;
      &amp;lt;field name=&quot;text&quot;&gt;This is the first document&amp;lt;/field&gt;
    &amp;lt;/doc&gt;
  &amp;lt;/add&gt;&#039; 
&quot;https://searchcloud-2-us-east-1.searchstax.com/12345/custom-1234/update?commit=true&quot;
</pre></div>


<p>For apps using <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api-tab/#basic-auth">Basic Authentication</a>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
curl -X POST -H &#039;Content-Type: text/xml&#039; &#039;https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/update?commit=true&#039; --user app40-admin:REDACTEDPWD --data-binary &#039;
&amp;lt;add&gt;
  &amp;lt;doc&gt;
    &amp;lt;field name=&quot;id&quot;&gt;id1&amp;lt;/field&gt;
    &amp;lt;field name=&quot;title&quot;&gt;Document1&amp;lt;/field&gt;
    &amp;lt;field name=&quot;text&quot;&gt;This is the first document&amp;lt;/field&gt;
   &amp;lt;/doc&gt;
&amp;lt;/add&gt;&#039;
</pre></div>


<ul class="wp-block-list">
<li>The&nbsp;<code>&lt;add&gt;</code>&nbsp;element introduces one more documents to be added. This can be substituted by <code>&lt;update&gt;</code> to update the document.</li>



<li>The&nbsp;<code>&lt;doc&gt;</code>&nbsp;element introduces the fields making up a document.</li>



<li>The&nbsp;<code>&lt;field&gt;</code>&nbsp;element presents the content for a specific field.</li>
</ul>



&nbsp;&nbsp;



<h2 class="wp-block-heading" id="h-indexing-csv-documents">Indexing CSV Documents</h2>



<p>The /update endpoint can load data files in comma-separated format (CSV).  The format of the data file is very simple, as shown in the <strong>books.csv</strong> example that is distributed with <a href="https://solr.apache.org/downloads.html">Solr stand-alone installation files</a>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
id,cat,name,price,inStock,author,series_t,sequence_i,genre_s
0553573403,book,A Game of Thrones,7.99,true,George R.R. Martin,&quot;A Song of Ice and Fire&quot;,1,fantasy
0553579908,book,A Clash of Kings,7.99,true,George R.R. Martin,&quot;A Song of Ice and Fire&quot;,2,fantasy
055357342X,book,A Storm of Swords,7.99,true,George R.R. Martin,&quot;A Song of Ice and Fire&quot;,3,fantasy
0553293354,book,Foundation,7.99,true,Isaac Asimov,Foundation Novels,1,scifi
0812521390,book,The Black Company,6.99,false,Glen Cook,The Chronicles of The Black Company,1,fantasy
0812550706,book,Ender&#039;s Game,6.99,true,Orson Scott Card,Ender,1,scifi
0441385532,book,Jhereg,7.95,false,Steven Brust,Vlad Taltos,1,fantasy
0380014300,book,Nine Princes In Amber,6.99,true,Roger Zelazny,the Chronicles of Amber,1,fantasy
0805080481,book,The Book of Three,5.99,true,Lloyd Alexander,The Chronicles of Prydain,1,fantasy
080508049X,book,The Black Cauldron,5.99,true,Lloyd Alexander,The Chronicles of Prydain,2,fantasy
</pre></div>


<ul class="wp-block-list">
<li>Line 1 is the header, containing the field names used in the index. One of these must be a unique document ID.</li>



<li>Subsequent lines each represent one index record. Commas separate values. Do not allow spaces immediately following a comma. </li>



<li>A missing value is denoted by two adjacent commas (<strong>,,</strong>).</li>



<li>Note the <a href="https://solr.apache.org/guide/8_5/dynamic-fields.html">dynamic fields</a> (<strong>series_t, sequence_i, genre_s</strong>) in the header. This mechanism lets you add custom fields to your index without the labor of modifying the Solr schema. </li>
</ul>



<p>For apps using <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api-tab/#token-auth">Token Authentication</a>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
curl -H &quot;Authorization: Token 8a931ae9bfe3538c2b4d8121fad564c676f7de0f&quot; 
  -H &#039;Content-type:application/csv&#039;
  --data-binary @books.csv
  &#039;https://searchcloud-1-us-west-2.searchstax.com/95338/csvuploadapp-3684/update?commit=true
</pre></div>


<p>For apps using <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api-tab/#basic-auth">Basic Authentication</a>:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
curl -H &#039;Content-type:application/csv&#039;
  --data-binary @books.csv
  --user app40-admin:REDACTEDPWD
  &#039;https://searchcloud-1-us-west-2.searchstax.com/95338/csvuploadapp-3684/update?commit=true
</pre></div>


<h2 class="wp-block-heading" id="delete-documents">Deleting Documents</h2>



<p>When experimenting with document uploads, it is often helpful to be able to clear the index or to remove specific documents. See the following Help Center topics for examples:</p>



<ul class="wp-block-list">
<li><a href="https://demo.searchstax.com/docs/hc/clear-a-site-search-index/">Clear a Site Search Index</a></li>



<li><a href="https://demo.searchstax.com/docs/hc/delete-individual-documents-2/">Delete Individual Documents</a></li>
</ul>



&nbsp;&nbsp;



<h2 class="wp-block-heading" id="api-limits">API Limits</h2>



<ul class="wp-block-list">
<li>All update requests should have a maximum size of 2048KB.</li>
</ul>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Site%20Search%3A%20Ingest%20API" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-ingest-api/">Ingest API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Overview</title>
		<link>https://demo.searchstax.com/docs/searchstudio/api-documentation-overview/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Mon, 22 May 2023 22:47:28 +0000</pubDate>
				<guid isPermaLink="false">https://demo.searchstax.com/docs/?post_type=searchstudio&#038;p=15520</guid>

					<description><![CDATA[<p>Site Search API Overview The SearchStax Site Search solution includes a number of APIs to streamline and seamlessly accelerate the implementation process. Questions? Do not hesitate to contact the SearchStax&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/api-documentation-overview/">Continue reading <span class="screen-reader-text">Overview</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/api-documentation-overview/">Overview</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-site-search-api-overview">Site Search API Overview</h1>



<hr class="wp-block-separator has-css-opacity"/>



<p>The <a href="https://www.searchstax.com/site-search/">SearchStax Site Search solution</a> includes a number of APIs to streamline and seamlessly accelerate the implementation process.</p>



<ul class="wp-block-list">
<li><strong>Search APIs</strong> &#8211; Search APIs are components that allow developers to seamlessly introduce search and auto-suggest capabilities to websites and applications.
<ul class="wp-block-list">
<li><a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api/">Search API</a> </li>



<li><a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-auto-suggest-api/">Auto-Suggest API</a></li>
</ul>
</li>



<li><strong>Analytics APIs</strong> &#8211; the Analytics APIs are designed to capture the tracking and reporting analytics data used by Site Search.
<ul class="wp-block-list">
<li><a href="/docs/searchstudio/searchstax-studio-analytics-rest-api/">Tracking API (Rest)</a></li>



<li><a href="/docs/searchstudio/searchstax-studio-javascript-tracking-api/">Tracking API (Javascript)</a></li>



<li><a href="/docs/searchstudio/searchstax-studio-reporting-api-rest/">Reporting API (Rest)</a></li>
</ul>
</li>



<li><strong>Discovery APIs</strong> &#8211; the Discovery APIs drive the information for Popular Searches and Related Searches.
<ul class="wp-block-list">
<li><a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-popular-searches-api/">Popular Searches API</a></li>



<li><a href="https://demo.searchstax.com/docs/searchstudio/related-searches-api/">Related Searches API</a></li>
</ul>
</li>



<li><strong>Ingest APIs</strong> &#8211; the Ingest API lets you update Solr documents in your Site Search project.
<ul class="wp-block-list">
<li><a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-ingest-api/">Ingest API</a></li>
</ul>
</li>
</ul>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Studio%3A%20API%20Overview" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/api-documentation-overview/">Overview</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Search API</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Mon, 29 Mar 2021 23:10:25 +0000</pubDate>
				<guid isPermaLink="false">https://site-qa.searchstax.com/docs/?post_type=site_search&#038;p=8334</guid>

					<description><![CDATA[<p>Search API The SearchStax Site Search solution&#8217;s Search API lets you request basic and advanced search results from you Search App. The Search Endpoint (/emselect) for your Search App is&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api/">Continue reading <span class="screen-reader-text">Search API</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api/">Search API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Search API</h1>



<hr class="wp-block-separator has-css-opacity"/>



<p>The SearchStax Site Search solution&#8217;s Search API lets you request basic and advanced search results from you Search App.</p>



<p>The <strong>Search Endpoint</strong> (/emselect) for your Search App is available within your <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api-tab/">Search API Tab</a> page as shown below:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="765" height="353" src="https://demo.searchstax.com/docs/wp-content/uploads/2023/09/image-10.png" alt="" class="wp-image-16197" srcset="https://demo.searchstax.com/docs/wp-content/uploads/2023/09/image-10.png 765w, https://demo.searchstax.com/docs/wp-content/uploads/2023/09/image-10-300x138.png 300w" sizes="auto, (max-width: 765px) 100vw, 765px" /></figure>



<p>Your Search endpoints are protected using Token Authentication or Basic Authentication in certain circumstances. When using the endpoints for search, it is recommended to use the <strong>Read Only Credentials.</strong></p>



<p>This is a cURL example illustrating Token Authentication with a simple query:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; notranslate">
curl -H &quot;Authorization: Token e3y545ere45gff654nnhf651ng5d15g1g6&quot; --request GET &#039;https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/12345/testexample-12/emselect?q=*:*&#039;
</pre></div>


<p>This is a cURL example illustrating Basic Authentication with a simple query:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; auto-links: false; title: ; notranslate">
curl -u &#039;app40-api:paSSw0Rd&#039; --request GET &#039;https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/&lt;search-app-name&gt;/emselect?q=*:*&#039;
</pre></div>


<h2 class="wp-block-heading">Contents of this page:</h2>



<ul class="wp-block-list">
<li><a href="#auth">Authentication</a></li>



<li><a href="#basic-search">Basic Search</a></li>



<li><a href="#language">Language</a></li>



<li><a href="#pagination">Pagination</a></li>



<li><a href="#sorting">Sorting</a></li>



<li><a href="#faceting">Faceting</a></li>



<li><a href="#spelling">Spelling Suggestions</a></li>



<li><a href="#h-advance-search-api-options">Advance Search API Options</a></li>



<li><a href="#search-models">Personalisation / Search using different models</a></li>
</ul>



<p></p>



<h2 class="wp-block-heading" id="auth">Authentication</h2>



<h3 class="wp-block-heading" id="token-auth">Token Authentication</h3>



<p>For apps using Token Authentication, the Access Tokens are cryptographically secure 20 bytes tokens that do not expire, but can be rotated.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="928" height="383" src="https://demo.searchstax.com/docs/wp-content/uploads/2021/03/image-29.png" alt="" class="wp-image-20002" srcset="https://demo.searchstax.com/docs/wp-content/uploads/2021/03/image-29.png 928w, https://demo.searchstax.com/docs/wp-content/uploads/2021/03/image-29-300x124.png 300w, https://demo.searchstax.com/docs/wp-content/uploads/2021/03/image-29-768x317.png 768w" sizes="auto, (max-width: 928px) 100vw, 928px" /></figure>



<p><strong>Token Management</strong></p>



<p>You can manage your tokens and rotate them if needed.</p>



<ol class="wp-block-list">
<li>Click on the <strong>Create Token</strong> button &#8211; this will create an enabled <strong>Read Only</strong> token by default.</li>



<li>If you need to change an access right for a token, select the appropriate access right in the dropdown.</li>



<li>Leave the old token enabled until ready to rotate.</li>



<li>Once ready, disable the token by clicking on the toggle (turning it to red) or delete the token.</li>
</ol>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="1016" height="475" src="https://demo.searchstax.com/docs/wp-content/uploads/2023/03/image-24.png" alt="" class="wp-image-14175" style="width:587px;height:274px" srcset="https://demo.searchstax.com/docs/wp-content/uploads/2023/03/image-24.png 1016w, https://demo.searchstax.com/docs/wp-content/uploads/2023/03/image-24-300x140.png 300w, https://demo.searchstax.com/docs/wp-content/uploads/2023/03/image-24-768x359.png 768w" sizes="auto, (max-width: 1016px) 100vw, 1016px" /></figure>



<p>*If you are rotating your token, the new token will need to be deployed out through your dev process as well.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p></p>
</div></div>



<h3 class="wp-block-heading" id="basic-auth">Basic Authentication</h3>



<p>For apps using Basic Authentication, the Search APIs are protected using a sets of an auto-generated User-IDs and passwords set by the user.</p>



<figure class="wp-block-image"><img decoding="async" src="https://lh4.googleusercontent.com/1HRDS-7oqFjQd9kWw4gFweG0huT6OYW98U-aPxwF5rDOHpyxrcfbrJqPeavngSQaZFNkzQt5cti9n30qjV0RlrPdhYMAPJPvzeaIDzH4N_04dntqF-OgcjXcnDTHvEHmE9Frh_kx" alt=""/></figure>



<p>You may change the passwords (but not the user IDs) on this screen. Click the <strong>Save</strong> button when finished.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p></p>
</div></div>



<h2 class="wp-block-heading" id="basic-search">Basic Search</h2>



<p>For performing basic search, simply pass the query as the <code>'q'</code> parameter as shown below:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;language=en
</pre></div>


<p>This returns the search results as configured by your Search App for your default model as shown below:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
{
  &quot;responseHeader&quot;:{
    &quot;zkConnected&quot;:true,
    &quot;status&quot;:0,
    &quot;QTime&quot;:13,
    &quot;params&quot;:{
      &quot;hl.fragsize&quot;:&quot;200&quot;,
      &quot;q&quot;:&quot;sitecore&quot;,
      &quot;language&quot;:&quot;en&quot;,
      &quot;spellcheck.correct&quot;:&quot;true&quot;,
      &quot;echoParams&quot;:&quot;all&quot;,
      &quot;wt&quot;:&quot;json&quot;,
      &quot;rows&quot;:&quot;12&quot;,
      &quot;hl&quot;:&quot;true&quot;,
      &quot;hl.snippets&quot;:&quot;3&quot;,
      &quot;facet&quot;:&quot;true&quot;,
      &quot;fl&quot;:&quot;title,author_name,meta_image,paths,content_type,meta_description,meta_modified_time,meta_published_time,date,exif_date,metaproducts_ss,&#x5B;elevated],url&quot;,
      &quot;facet.field&quot;:&#x5B;&quot;content_type_facet&quot;,
        &quot;meta_keywords_facet&quot;,
        &quot;metaproducts_ss&quot;,
        &quot;metaplatforms_ss&quot;,
        &quot;metaindustries_ss&quot;,
        &quot;metalocations_ss&quot;],
      &quot;f.content_type_facet.facet.limit&quot;:&quot;7&quot;,
      &quot;f.content_type_facet.facet.mincount&quot;:&quot;1&quot;,
      &quot;f.content_type_facet.facet.sort&quot;:&quot;count&quot;,
      &quot;f.meta_keywords_facet.facet.limit&quot;:&quot;5&quot;,
      &quot;f.meta_keywords_facet.facet.mincount&quot;:&quot;1&quot;,
      &quot;f.meta_keywords_facet.facet.sort&quot;:&quot;count&quot;,
      &quot;f.metaproducts_ss.facet.limit&quot;:&quot;3&quot;,
      &quot;f.metaproducts_ss.facet.mincount&quot;:&quot;1&quot;,
      &quot;f.metaproducts_ss.facet.sort&quot;:&quot;count&quot;,
      &quot;f.metaplatforms_ss.facet.limit&quot;:&quot;5&quot;,
      &quot;f.metaplatforms_ss.facet.mincount&quot;:&quot;1&quot;,
      &quot;f.metaplatforms_ss.facet.sort&quot;:&quot;count&quot;,
      &quot;f.metaindustries_ss.facet.limit&quot;:&quot;5&quot;,
      &quot;f.metaindustries_ss.facet.mincount&quot;:&quot;1&quot;,
      &quot;f.metaindustries_ss.facet.sort&quot;:&quot;count&quot;,
      &quot;f.metalocations_ss.facet.limit&quot;:&quot;5&quot;,
      &quot;f.metalocations_ss.facet.mincount&quot;:&quot;1&quot;,
      &quot;f.metalocations_ss.facet.sort&quot;:&quot;count&quot;,
      &quot;defType&quot;:&quot;edismax&quot;,
      &quot;qf&quot;:&quot;title^69.0 meta_description^82.0 content^100.0 meta_keywords url author_name meta_keywords_facet content_type_facet meta_published_time&quot;,
      &quot;uniqueId&quot;:&quot;url&quot;,
      &quot;bf&quot;:&quot;recip(ms(NOW,date),3.16e-11,10,1)^38.0&quot;,
      &quot;spellcheck.q&quot;:&quot;sitecore&quot;,
      &quot;spellcheck.accuracy&quot;:&quot;0.9&quot;,
      &quot;spellcheck.extendedResults&quot;:&quot;true&quot;,
      &quot;spellcheck&quot;:&quot;on&quot;,
      &quot;spellcheck.dictionary&quot;:&quot;searchstudioSpell_studio_spellcheck_data_en_en&quot;,
      &quot;spellcheck.count&quot;:&quot;1&quot;,
      &quot;spellcheck.collate&quot;:&quot;true&quot;,
      &quot;spellcheck.onlyMorePopular&quot;:&quot;true&quot;,
      &quot;fq&quot;:&quot;-document_type:\&quot;xml\&quot; AND -url:\&quot;docs/category\&quot;&quot;}},
  &quot;spellcheck&quot;:{
    &quot;suggestions&quot;:&#x5B;],
    &quot;collations&quot;:&#x5B;],
    &quot;correctlySpelled&quot;:true},
  &quot;externalLinks&quot;:&#x5B;{
      &quot;name&quot;:&quot;Resurgence of Search &quot;,
      &quot;description&quot;:&quot;In this white paper, you’ll learn about the search challenges facing companies as they head into digital transformation projects. But, prioritizing search is not enough. Getting to market quickly enough to stay competitive, keeping up with the dynamic nature of changes and keeping users engaged are also critical factors. Discover the 4 Pillars for Modernizing Search and learn how our customers are innovating with site search transformation.&quot;,
      &quot;url&quot;:&quot;https://www.searchstax.com/white-papers/resurgence-of-search-white-paper/&quot;}],
  &quot;response&quot;:{&quot;numFound&quot;:680,&quot;start&quot;:0,&quot;docs&quot;:&#x5B;
      {
        &quot;title&quot;:&#x5B;&quot;Hosted Solr Service for Sitecore | SearchStax&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/solutions/sitecore-solr/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;SearchStax Cloud is the hosted Solr solution for Sitecore and offers an easy, reliable, performant and scalable Solr service.&quot;],
        &quot;date&quot;:&quot;2023-10-23T19:02:39Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2023/03/Managed-Solr-Soltuion-for-Sitecore.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;solutions / sitecore-solr&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-09-20T07:08:59Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Webpage&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:02:34Z&quot;],
        &quot;&#x5B;elevated]&quot;:true},
      {
        &quot;title&quot;:&#x5B;&quot;Site Search Tool for Sitecore | SearchStax&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/searchstudio/sitecore/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;Get personalized site search for Sitecore. Understand user behavior with analytics &amp;amp; optimize Sitecore site search with easy-to-use tools.&quot;],
        &quot;date&quot;:&quot;2023-10-23T19:02:35Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2023/03/Sites-Search-for-Sitecore.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;searchstudio / sitecore&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-09-04T09:55:34Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Webpage&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:02:30Z&quot;],
        &quot;&#x5B;elevated]&quot;:true},
      {
        &quot;title&quot;:&#x5B;&quot;Sitecore Relies on SearchStax Cloud | SearchStax Blog&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/blog/sitecore-relies-on-searchstax-managed-solr/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;In our latest Case Study, see how Sitecore implements SearchStax Cloud to get a more stable, secure and robust Solr environment for their website.In our latest Customer Case Study, see how Sitecore implements SearchStax Managed Solr to get a more stable, secure and robust Solr environment to support their website. Editor’s Note: Managed&quot;],
        &quot;author_name&quot;:&quot;Tom Humbarger&quot;,
        &quot;date&quot;:&quot;2023-10-23T19:01:33Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2023/02/Sitecore-Relies-on-SearchStax-Managed-Solr-1536x864-1.jpg&quot;],
        &quot;paths&quot;:&#x5B;&quot;blog / sitecore-relies-on-searchstax-managed-solr&quot;],
        &quot;metaproducts_ss&quot;:&#x5B;&quot;SearchStax Cloud&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-07-31T09:59:37Z&quot;],
        &quot;meta_published_time&quot;:&#x5B;&quot;2021-08-16T21:24:00Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Blog&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:01:29Z&quot;],
        &quot;&#x5B;elevated]&quot;:true},
      {
        &quot;title&quot;:&#x5B;&quot;Penn Foster Selects SearchStax Studio | SearchStax Blog&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/blog/penn-foster-selects-searchstax-site-search/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;Penn Foster selected SearchStax Studio to replace their existing website search function and improve their search experience.Search Workforce development pioneer Penn Foster has selected SearchStax Studio to replace the existing search function on Penn Foster’s website as announced in a press release on April 9, 2021. Editor’s&quot;],
        &quot;author_name&quot;:&quot;Tom Humbarger&quot;,
        &quot;date&quot;:&quot;2023-10-23T19:01:04Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2023/02/Penn-Foster-Selects-SearchStax-Site-Search-1536x864-1.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;blog / penn-foster-selects-searchstax-site-search&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-07-31T10:10:00Z&quot;],
        &quot;meta_published_time&quot;:&#x5B;&quot;2021-04-19T23:47:00Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Blog&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:01:04Z&quot;],
        &quot;&#x5B;elevated]&quot;:true},
      {
        &quot;title&quot;:&#x5B;&quot;SearchStax Solr Plugin Supports Sitecore 10.2 | SearchStax Blog&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/blog/searchstax-solr-plugin-now-supports-sitecore-10-2/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;The SearchStax Solr Plugin for Sitecore now supports Sitecore 10.2 to save hours of time and effort for companies running Sitecore websites.We are pleased to announce that SearchStax has added Sitecore 10.2 support for our Sitecore Solr Plugin. The Sitecore Solr Plugin accelerates the process and automates a number of manual&quot;],
        &quot;author_name&quot;:&quot;Dipsy Kapoor&quot;,
        &quot;date&quot;:&quot;2023-10-23T19:01:26Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2021/07/10.2-solr-plugin.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;blog / searchstax-solr-plugin-now-supports-sitecore-10-2&quot;],
        &quot;metaproducts_ss&quot;:&#x5B;&quot;SearchStax Cloud&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-07-31T09:07:21Z&quot;],
        &quot;meta_published_time&quot;:&#x5B;&quot;2021-12-02T16:18:00Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Blog&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:01:20Z&quot;],
        &quot;&#x5B;elevated]&quot;:false},
      {
        &quot;title&quot;:&#x5B;&quot;SearchStax Cloud Connector for Sitecore Now Supports Sitecore 10.3 | SearchStax Blog&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/blog/cloud-connector-for-sitecore-now-supports-sitecore-10-3/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;The SearchStax Cloud Connector for Sitecore now supports Sitecore 10.3 which accelerates implementation of SearchStax Cloud.We are pleased to announce that SearchStax has added Sitecore 10.3 support for our SearchStax Cloud Connector for Sitecore.&quot;],
        &quot;author_name&quot;:&quot;Thomas DiLascio&quot;,
        &quot;date&quot;:&quot;2023-10-23T19:00:39Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2023/03/SearchStax-Cloud-Connector-Now-Supports-Sitecore-10.3.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;blog / cloud-connector-for-sitecore-now-supports-sitecore-10-3&quot;],
        &quot;metaproducts_ss&quot;:&#x5B;&quot;SearchStax Cloud&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-07-31T06:34:13Z&quot;],
        &quot;meta_published_time&quot;:&#x5B;&quot;2023-03-07T17:31:28Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Blog&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:00:39Z&quot;],
        &quot;&#x5B;elevated]&quot;:false},
      {
        &quot;title&quot;:&#x5B;&quot;Sitecore Solr Plugin Support for Sitecore 9.3 | SearchStax Blog&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/blog/sitecore-solr-plugin-support-for-sitecore-9-3/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;To support the Sitecore community, we are announcing further enhancements to the Sitecore Solr Plugin to make connecting Solr to Sitecore deployments equally easy. Making Solr Setup in Sitecore Easier You probably already know that SearchStax makes it easy to deploy, manage and scale highly available Solr. To better support the Sitecore community, we&quot;],
        &quot;author_name&quot;:&quot;Karan Jeet Singh&quot;,
        &quot;date&quot;:&quot;2023-10-23T19:01:34Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2023/01/The-Sitecore-Solr-Plugin-Makes-Setup-Easy-mhoppsy-on-pixabay-apple-3595520_1920.jpg&quot;],
        &quot;paths&quot;:&#x5B;&quot;blog / sitecore-solr-plugin-support-for-sitecore-9-3&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-07-31T10:31:01Z&quot;],
        &quot;meta_published_time&quot;:&#x5B;&quot;2020-04-07T04:16:00Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Blog&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:01:28Z&quot;],
        &quot;&#x5B;elevated]&quot;:false},
      {
        &quot;title&quot;:&#x5B;&quot;SearchStax Cloud Connector for Sitecore - Videos | SearchStax&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/videos/demo-of-sitecore-plugin-for-managed-solr/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;Watch a short demo of the SearchStax Cloud Connector for Sitecore. The Connector accelerates installation of hosted Solr for Sitecore.Connect SearchStax Cloud hosted Solr to Sitecore in minutes. The Sitecore Solr Plugin accelerates the process and automates a number of manual tasks involved with connecting a Sitecore installation to a SearchStax Solr instance. Setting up Solr  on Sitecore with the Plugin will save hours of time and effort.&quot;],
        &quot;date&quot;:&quot;2023-10-23T19:02:41Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2022/04/Cloud-Sitecore-Connector-title-logo.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;videos / demo-of-sitecore-plugin-for-managed-solr&quot;],
        &quot;metaproducts_ss&quot;:&#x5B;&quot;SearchStax Cloud&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-03-07T23:59:58Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Video&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:02:39Z&quot;],
        &quot;&#x5B;elevated]&quot;:false},
      {
        &quot;title&quot;:&#x5B;&quot;Sitecore 10.0 - SearchStax Docs&quot;],
        &quot;url&quot;:&quot;https://demo.searchstax.com/docs/searchstax-cloud-connector-for-sitecore-10-0-solr/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;Connect SearchStax Cloud to Sitecore 10.0 using a PowerShell 7 script that automates the steps for integrating Solr with Sitecore.&quot;],
        &quot;author_name&quot;:&quot;admin&quot;,
        &quot;date&quot;:&quot;2023-10-23T23:01:12Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://demo.searchstax.com/docs/wp-content/uploads/2021/03/downloadSitecoreSingle100.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;docs / searchstax-cloud-connector-for-sitecore-10-0-solr&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-09-29T15:49:03Z&quot;],
        &quot;meta_published_time&quot;:&#x5B;&quot;2021-03-03T05:47:33Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Documentation&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T23:01:08Z&quot;],
        &quot;&#x5B;elevated]&quot;:false},
      {
        &quot;title&quot;:&#x5B;&quot;TechGuilds | SearchStax Partners&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/partner/techguilds/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;TechGuilds is a SearchStax Alliance Member and solves the toughest problems for Sitecore customers and Sitecore Technology Partners.&quot;],
        &quot;date&quot;:&quot;2023-10-23T19:02:26Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2023/04/tech-guilds-logo.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;partner / techguilds&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-04-24T06:50:04Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Webpage&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:02:22Z&quot;],
        &quot;&#x5B;elevated]&quot;:false},
      {
        &quot;title&quot;:&#x5B;&quot;Horizontal | SearchStax Partners&quot;],
        &quot;url&quot;:&quot;https://www.searchstax.com/partner/horizontal/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;Horizontal is a SearchStax Alliance Member and solves the toughest problems for Sitecore customers and Sitecore Technology Partners.&quot;],
        &quot;date&quot;:&quot;2023-10-23T19:02:18Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://www.searchstax.com/wp-content/uploads/2023/04/horizontal-logo.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;partner / horizontal&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-04-24T06:49:40Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Webpage&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T19:02:13Z&quot;],
        &quot;&#x5B;elevated]&quot;:false},
      {
        &quot;title&quot;:&#x5B;&quot;Optimizing the xConnect Search Service - SearchStax Docs&quot;],
        &quot;url&quot;:&quot;https://demo.searchstax.com/docs/hc/optimizing-the-xconnect-search-service/&quot;,
        &quot;meta_description&quot;:&#x5B;&quot;When using Solr as the search provider for Sitecore, there are a variety of Sitecore settings that can be tuned to improve performance. Symptoms might include high memory consumption by Sitecore services, slow average response times for the xConnect.&quot;],
        &quot;date&quot;:&quot;2023-10-23T23:00:45Z&quot;,
        &quot;meta_image&quot;:&#x5B;&quot;https://demo.searchstax.com/docs/wp-content/uploads/2023/03/faq-1.png&quot;],
        &quot;paths&quot;:&#x5B;&quot;docs / hc / optimizing-the-xconnect-search-service&quot;],
        &quot;meta_modified_time&quot;:&#x5B;&quot;2023-04-28T21:05:47Z&quot;],
        &quot;content_type&quot;:&#x5B;&quot;Documentation&quot;],
        &quot;exif_date&quot;:&#x5B;&quot;2023-10-23T23:00:45Z&quot;],
        &quot;&#x5B;elevated]&quot;:false}]
  },
  &quot;facet_counts&quot;:{
    &quot;facet_queries&quot;:{},
    &quot;facet_fields&quot;:{
      &quot;content_type_facet&quot;:&#x5B;
        &quot;Documentation&quot;,337,
        &quot;Blog&quot;,164,
        &quot;Webpage&quot;,116,
        &quot;Video&quot;,27,
        &quot;Case Study&quot;,22,
        &quot;White Paper&quot;,8,
        &quot;Podcasts&quot;,6],
      &quot;meta_keywords_facet&quot;:&#x5B;],
      &quot;metaproducts_ss&quot;:&#x5B;
        &quot;SearchStax Cloud&quot;,87,
        &quot;SearchStax Studio&quot;,57,
        &quot;SearchStax Cloud, SearchStax Studio&quot;,12],
      &quot;metaplatforms_ss&quot;:&#x5B;
        &quot;Sitecore&quot;,57,
        &quot;Drupal&quot;,19,
        &quot;AEM&quot;,3,
        &quot;Acquia&quot;,3,
        &quot;Custom&quot;,3],
      &quot;metaindustries_ss&quot;:&#x5B;
        &quot;Technology&quot;,10,
        &quot;Higher Education&quot;,5,
        &quot;Healthcare&quot;,4,
        &quot;Financial Services&quot;,3,
        &quot;Construction&quot;,2],
      &quot;metalocations_ss&quot;:&#x5B;
        &quot;North America&quot;,30,
        &quot;EMEA&quot;,15,
        &quot;Australia&quot;,2,
        &quot;North America, EMEA&quot;,1,
        &quot;North America, EMEA, South America&quot;,1]},
    &quot;facet_ranges&quot;:{},
    &quot;facet_intervals&quot;:{},
    &quot;facet_heatmaps&quot;:{}},
  &quot;highlighting&quot;:{
    &quot;https://www.searchstax.com/solutions/sitecore-solr/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;SearchStax Cloud is the hosted Solr solution for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; and offers an easy, reliable, performant and scalable Solr service.&quot;],
      &quot;title&quot;:&#x5B;&quot;Hosted Solr Service for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; | SearchStax&quot;],
      &quot;content&quot;:&#x5B;&quot;Hosted Solr Service for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; | SearchStax Skip to content Products Solutions Pricing Customers Partners Resources Sign in Schedule A Demo Sign-in Products SearchStax Cloud Highly-Available, Fast&quot;,
        &quot; Providers Amazon Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare Providers Corporate&quot;,
        &quot; Websites Pricing Customers Partners Resources Resources for Helpful Information Blog Case Studies Documentation White Paper Videos Support Podcasts All Resources &amp;lt;em&gt;sitecore&amp;lt;/em&gt; | SOLUTIONS search infrastructure&quot;]},
    &quot;https://www.searchstax.com/searchstudio/sitecore/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;Get personalized site search for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;. Understand user behavior with analytics &amp;amp; optimize &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; site search with easy-to-use tools.&quot;],
      &quot;title&quot;:&#x5B;&quot;Site Search Tool for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; | SearchStax&quot;],
      &quot;content&quot;:&#x5B;&quot;Site Search Tool for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; | SearchStax Skip to content Products Solutions Pricing Customers Partners Resources Sign in Schedule A Demo Sign-in Products SearchStax Cloud Highly-Available, Fast and&quot;,
        &quot; Providers Amazon Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare Providers Corporate&quot;,
        &quot; Websites Pricing Customers Partners Resources Resources for Helpful Information Blog Case Studies Documentation White Paper Videos Support Podcasts All Resources &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; | SOLUTIONS site search made easy&quot;]},
    &quot;https://www.searchstax.com/blog/sitecore-relies-on-searchstax-managed-solr/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;In our latest Case Study, see how &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; implements SearchStax Cloud to get a more stable, secure and robust Solr environment for their website.In our latest Customer Case Study, see how &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;&quot;],
      &quot;title&quot;:&#x5B;&quot;&amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Relies on SearchStax Cloud | SearchStax Blog&quot;],
      &quot;content&quot;:&#x5B;&quot;&amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Relies on SearchStax Cloud | SearchStax Blog Skip to content Products Solutions Pricing Customers Partners Resources Sign in Schedule A Demo Sign-in Products SearchStax Cloud Highly&quot;,
        &quot; Cloud Providers Amazon Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare Providers&quot;,
        &quot; Corporate Websites Pricing Customers Partners Resources Resources for Helpful Information Blog Case Studies Documentation White Paper Videos Support Podcasts All Resources Home / Case Study / &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Relies&quot;]},
    &quot;https://www.searchstax.com/blog/penn-foster-selects-searchstax-site-search/&quot;:{
      &quot;content&quot;:&#x5B;&quot; Cloud Providers Amazon Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare Providers&quot;,
        &quot; seemed like an impossible task. Penn Foster was already using SearchStax Cloud, SearchStax’s managed Solr solution, to manage the Solr search infrastructure for their &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;-based website.  When&quot;,
        &quot; Foster decided to go with the SearchStax Site Search technology. According to Chad Smith who leads the front-end development for Penn Foster’s web properties on &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; and .NET, the top four reasons&quot;]},
    &quot;https://www.searchstax.com/blog/searchstax-solr-plugin-now-supports-sitecore-10-2/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;The SearchStax Solr Plugin for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; now supports &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.2 to save hours of time and effort for companies running &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; websites.We are pleased to announce that SearchStax has added&quot;,
        &quot; &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.2 support for our &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Solr Plugin. The &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Solr Plugin accelerates the process and automates a number of manual&quot;],
      &quot;title&quot;:&#x5B;&quot;SearchStax Solr Plugin Supports &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.2 | SearchStax Blog&quot;],
      &quot;content&quot;:&#x5B;&quot;SearchStax Solr Plugin Supports &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.2 | SearchStax Blog Skip to content Products Solutions Pricing Customers Partners Resources Sign in Schedule A Demo Sign-in Products SearchStax Cloud&quot;,
        &quot; Infrastructure Cloud Providers Amazon Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare&quot;,
        &quot; / SearchStax Solr Plugin Now Supports &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.2 SearchStax Solr Plugin Now Supports &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.2 We are pleased to announce that SearchStax has added &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.2 support for our &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Solr Plugin&quot;]},
    &quot;https://www.searchstax.com/blog/cloud-connector-for-sitecore-now-supports-sitecore-10-3/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;The SearchStax Cloud Connector for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; now supports &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.3 which accelerates implementation of SearchStax Cloud.We are pleased to announce that SearchStax has added &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.3 support&quot;,
        &quot; for our SearchStax Cloud Connector for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;.&quot;],
      &quot;title&quot;:&#x5B;&quot;SearchStax Cloud Connector for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Now Supports &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.3 | SearchStax Blog&quot;],
      &quot;content&quot;:&#x5B;&quot;SearchStax Cloud Connector for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Now Supports &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.3 | SearchStax Blog Skip to content Products Solutions Pricing Customers Partners Resources Sign in Schedule A Demo Sign-in Products&quot;,
        &quot; Solutions Solr Infrastructure Cloud Providers Amazon Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher&quot;,
        &quot; SearchStax Cloud Connector for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Now Supports &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.3 Best Practices SearchStax Cloud &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Solr Development March 07, 2023 Thomas DiLascio | 3 min. read We are pleased to announce&quot;]},
    &quot;https://www.searchstax.com/blog/sitecore-solr-plugin-support-for-sitecore-9-3/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;To support the &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; community, we are announcing further enhancements to the &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Solr Plugin to make connecting Solr to &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; deployments equally easy. Making Solr Setup in &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;&quot;,
        &quot; Easier You probably already know that SearchStax makes it easy to deploy, manage and scale highly available Solr. To better support the &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; community, we&quot;],
      &quot;title&quot;:&#x5B;&quot;&amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Solr Plugin Support for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 9.3 | SearchStax Blog&quot;],
      &quot;content&quot;:&#x5B;&quot;&amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Solr Plugin Support for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 9.3 | SearchStax Blog Skip to content Products Solutions Pricing Customers Partners Resources Sign in Schedule A Demo Sign-in Products SearchStax Cloud&quot;,
        &quot; Infrastructure Cloud Providers Amazon Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare&quot;,
        &quot; Providers Corporate Websites Pricing Customers Partners Resources Resources for Helpful Information Blog Case Studies Documentation White Paper Videos Support Podcasts All Resources Home / &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; / &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;&quot;]},
    &quot;https://www.searchstax.com/videos/demo-of-sitecore-plugin-for-managed-solr/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;Watch a short demo of the SearchStax Cloud Connector for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;. The Connector accelerates installation of hosted Solr for Sitecore.Connect SearchStax Cloud hosted Solr to &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; in minutes&quot;,
        &quot;. The &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Solr Plugin accelerates the process and automates a number of manual tasks involved with connecting a &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; installation to a SearchStax Solr instance. Setting up Solr  on &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;&quot;],
      &quot;title&quot;:&#x5B;&quot;SearchStax Cloud Connector for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; - Videos | SearchStax&quot;],
      &quot;content&quot;:&#x5B;&quot;SearchStax Cloud Connector for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; - Videos | SearchStax Skip to content Products Solutions Pricing Customers Partners Resources Sign in Schedule A Demo Sign-in Products SearchStax Cloud Highly&quot;,
        &quot; Cloud Providers Amazon Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare Providers&quot;,
        &quot; to &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; in Minutes Watch this short video of how to connect &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; to Solr using the SearchStax Cloud Connector for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;. The Cloud Connector accelerates the process and automates a number of manual&quot;]},
    &quot;https://demo.searchstax.com/docs/searchstax-cloud-connector-for-sitecore-10-0-solr/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;Connect SearchStax Cloud to &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.0 using a PowerShell 7 script that automates the steps for integrating Solr with &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;.&quot;],
      &quot;title&quot;:&#x5B;&quot;&amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.0 - SearchStax Docs&quot;],
      &quot;content&quot;:&#x5B;&quot;&amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.0 - SearchStax Docs Cloud Docs Studio Docs Help Center Support Contact Us Sign-In SearchStax Cloud SearchStax Cloud Documentation Dedicated Managed Solr Integrate Solr With... &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;&quot;,
        &quot; &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; 10.0 Filters Cloud Docs Studio Docs Help Center Support Contact Us Sign-In Search Free Trial Sign-In Cloud Docs Home How to File a Support Ticket Free Trial Overview Serverless Solr Getting Started&quot;,
        &quot; Dedicated Managed Solr Getting Started Dedicated Deployments Dedicated Quick Start Integrate Solr With... Integration Overview Drupal Drupal 7 Drupal 8 Haystack Haystack &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; FAQ &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;/Solr&quot;]},
    &quot;https://www.searchstax.com/partner/techguilds/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;TechGuilds is a SearchStax Alliance Member and solves the toughest problems for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; customers and &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Technology Partners.&quot;],
      &quot;content&quot;:&#x5B;&quot; Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare Providers Corporate Websites&quot;,
        &quot;. Proudly Canadian, based in Toronto, we have the honor of working with great clients, many of whom have been with us since we began in 2014! Our Services TechGuilds Super Care™ Finally, &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; peace&quot;,
        &quot; of mind Digital Experience Strategy &amp;amp; Design Craft experiences that delight users and grow your business &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Implementation A hassle-free approach that delivers excellence &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Support Sleep&quot;]},
    &quot;https://www.searchstax.com/partner/horizontal/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;Horizontal is a SearchStax Alliance Member and solves the toughest problems for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; customers and &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Technology Partners.&quot;],
      &quot;content&quot;:&#x5B;&quot; Web Services Microsoft Azure Google Cloud CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Site Search CMS Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare Providers Corporate Websites&quot;,
        &quot; Services Microsoft Azure Google Cloud Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe close Site Search Platforms &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Drupal Adobe Acquia Industries Higher Education Healthcare Providers Corporate Websites Resources&quot;]},
    &quot;https://demo.searchstax.com/docs/hc/optimizing-the-xconnect-search-service/&quot;:{
      &quot;meta_description&quot;:&#x5B;&quot;When using Solr as the search provider for &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;, there are a variety of &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; settings that can be tuned to improve performance. Symptoms might include high memory consumption by &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;&quot;],
      &quot;content&quot;:&#x5B;&quot; Do Solr Backups Fail? &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Connection Errors Can&#039;t Connect to Solr or Zookeeper Indexing Errors 301 Error 400 Error 401 Error 403 Error 404 Error 413 Error 413 Maximum Post Size Exceeded 414 Error&quot;,
        &quot; Postgres or MongoDB? Identical Queries Produce Inconsistent Results &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Solr Topics Can SearchStax provide Solr indexing to &amp;lt;em&gt;Sitecore&amp;lt;/em&gt;? Optimizing the xConnect Search Service Lowering &amp;amp;rows=1000000 Can we&quot;,
        &quot; use Sitecore&#039;s SwitchOnRebuild with SearchStax? Unpublish/Delete Fails to Remove Item from &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Index &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; Connection Errors Why does &amp;lt;em&gt;Sitecore&amp;lt;/em&gt; fail to populate schemas? Solr Backups Backup Best&quot;]}},
  &quot;metadata&quot;:{
    &quot;facets&quot;:&#x5B;{
        &quot;name&quot;:&quot;content_type_facet&quot;,
        &quot;label&quot;:&quot;Content Type&quot;},
      {
        &quot;name&quot;:&quot;meta_keywords_facet&quot;,
        &quot;label&quot;:&quot;Keywords&quot;},
      {
        &quot;name&quot;:&quot;metaproducts_ss&quot;,
        &quot;label&quot;:&quot;Product&quot;},
      {
        &quot;name&quot;:&quot;metaplatforms_ss&quot;,
        &quot;label&quot;:&quot;Platforms&quot;},
      {
        &quot;name&quot;:&quot;metaindustries_ss&quot;,
        &quot;label&quot;:&quot;Industry&quot;},
      {
        &quot;name&quot;:&quot;metalocations_ss&quot;,
        &quot;label&quot;:&quot;Location&quot;}],
    &quot;results&quot;:&#x5B;{
        &quot;name&quot;:&quot;title&quot;,
        &quot;title&quot;:&quot;Title&quot;,
        &quot;result_card&quot;:&quot;title&quot;},
      {
        &quot;name&quot;:&quot;author_name&quot;,
        &quot;title&quot;:&quot;&quot;,
        &quot;result_card&quot;:&quot;&quot;},
      {
        &quot;name&quot;:&quot;meta_image&quot;,
        &quot;title&quot;:&quot;Image&quot;,
        &quot;result_card&quot;:&quot;&quot;},
      {
        &quot;name&quot;:&quot;paths&quot;,
        &quot;title&quot;:&quot;&quot;,
        &quot;result_card&quot;:&quot;paths&quot;},
      {
        &quot;name&quot;:&quot;content_type&quot;,
        &quot;title&quot;:&quot;Content Type&quot;,
        &quot;result_card&quot;:&quot;ribbon&quot;},
      {
        &quot;name&quot;:&quot;meta_description&quot;,
        &quot;title&quot;:&quot;Meta Description&quot;,
        &quot;result_card&quot;:&quot;description&quot;},
      {
        &quot;name&quot;:&quot;meta_modified_time&quot;,
        &quot;title&quot;:&quot;Meta Modified Time&quot;,
        &quot;result_card&quot;:&quot;&quot;},
      {
        &quot;name&quot;:&quot;meta_published_time&quot;,
        &quot;title&quot;:&quot;Meta Publish Time&quot;,
        &quot;result_card&quot;:&quot;date&quot;},
      {
        &quot;name&quot;:&quot;date&quot;,
        &quot;title&quot;:&quot;&quot;,
        &quot;result_card&quot;:&quot;thumbnail&quot;},
      {
        &quot;name&quot;:&quot;exif_date&quot;,
        &quot;title&quot;:&quot;&quot;,
        &quot;result_card&quot;:&quot;&quot;},
      {
        &quot;name&quot;:&quot;metaproducts_ss&quot;,
        &quot;title&quot;:&quot;&quot;,
        &quot;result_card&quot;:&quot;url&quot;}],
    &quot;sorts&quot;:&#x5B;{
        &quot;id&quot;:1204,
        &quot;name&quot;:&quot;date&quot;,
        &quot;order&quot;:&quot;desc&quot;,
        &quot;label&quot;:&quot;Newest Content&quot;},
      {
        &quot;id&quot;:1205,
        &quot;name&quot;:&quot;date&quot;,
        &quot;order&quot;:&quot;asc&quot;,
        &quot;label&quot;:&quot;Oldest Content&quot;}]}}

</pre></div>


<ol class="wp-block-list">
<li><code>responseHeader.params</code> gives details of all parameters passed to the search request, including responseHeader.params.rows which gives the number of documents returned in the response</li>



<li><code>externalLinks</code>&nbsp;If the query is a Trigger for an External Promotion, the <code>externalLinks</code> element will appear as a list at the same level as the <code>response</code> element. Your page-rendering code will have to detect it and retrieve the individual External Promotions from the list. </li>



<li><code>response.numFound</code> gives the total number of documents that matched the query</li>



<li><code>response.start</code> gives zero starting index of the search results</li>



<li><code>response.docs</code> contains the documents that matched the query. It includes all fields that were selected during Result Configuration inside the Search App. It also always include the field that is marked as the &#8220;uniqueKey&#8221; in the schema, which is most cases is either <code>"id"</code> or <code>"url"</code>; and <code>[elevated]</code> which marks whether the result document is a &#8220;promoted/sponsored&#8221; item or a regular search result.</li>



<li><code>facet_counts.facet_fields</code> contains dynamically generated Facet name as counts. The Facets returned are configured from the Search App. For each facet, the response contains the value of the facet, and a count of the number of documents that have that facet value.</li>



<li><code>highlighting</code> gives the highlighted content if Search highlighting is selected in the Search App. It is organized by the unique id of the document</li>



<li><code>spellcheck</code> contains spelling suggestions</li>
</ol>



<p>SearchStax uses the eDisMax query parser and supports the standard Solr query Syntax. Some query examples are:</p>



<ol class="wp-block-list">
<li>Get documents matching &#8220;sitecore plugin&#8221;, not necessarily together or containing both words &#8211; <code>https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss<code>123456</code>-SearchStudioCorpSite/emselect?q=sitecore plugin</code></li>



<li>Get documents matching &#8220;sitecore plugin&#8221; as a phrase (Phrase Query) &#8211; <code>https://ss<code>123456</code>-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss<code>123456</code>-SearchStudioCorpSite/emselect?q="sitecore plugin</code>&#8220;</li>



<li>Get documents where &#8220;sitecore&#8221; and &#8220;plugin&#8221; are within 20 words of each other (Proximity Query) &#8211; <code>https://ss<code>123456</code>-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss<code>123456</code>-SearchStudioCorpSite/emselect?q="sitecore plugin</code>&#8220;~20</li>



<li>Get documents containing words starting with site (Wildcard Query) &#8211; <code>https://ss<code>123456</code>-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss<code>123456</code>-SearchStudioCorpSite/emselect?q=site*</code></li>
</ol>



&nbsp;&nbsp;



<h2 id="language">Language</h2>



<p>If your Search App is configured for multiple languages, use the language parameter, providing the <a href="https://demo.searchstax.com/docs/searchstudio/multi-language-experiences/">2-digit code for the language</a>. If omitted, this defaults to the <a href="https://demo.searchstax.com/docs/searchstudio/multi-language-experiences/#default">default language</a>.  Example for Spanish (es):</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;language=es
</pre></div>


<p>If your dataset contains different documents for different languages in the same app, you might have to also add filter criteria to filter the results to only that language. You can do that as shown below in the example, or by using <a href="https://demo.searchstax.com/docs/searchstudio/searchstudio-global-filters/">Data Filters</a> in the app settings for the language. Example:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;language=es&amp;amp;fq=language_s:&quot;es_ES&quot;
</pre></div>


&nbsp;&nbsp;



<h2 id="pagination">Pagination</h2>



<p><code>start</code> and <code>rows</code> parameters control the pagination. <code>start</code> is zero based index of the search results and <code>rows</code> is the number of results to return per page. Example:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;start=4&amp;amp;rows=4
</pre></div>


<p>gives the second page of search results, if you are getting 4 results per page. The format of the result is the same as Basic Search.</p>



&nbsp;&nbsp;



<h2 id="sorting">Sorting</h2>



<p>You can use the <code>sort</code> parameter to specify the field by which you would like to sort the search results. If the parameter is omitted, by default, the search results are sorted by relevance. Below are some examples showing sorting</p>



<ul class="wp-block-list">
<li><strong>Sort by Date Descending</strong></li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;sort=date%20desc
</pre></div>


<ul class="wp-block-list">
<li><strong>Sort by Date Ascending</strong></li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;sort=date%20asc
</pre></div>


<ul class="wp-block-list">
<li><strong>Sort by title Ascending</strong></li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;sort=title%20asc
</pre></div>


&nbsp;&nbsp;



<h2 id="faceting">Faceting / Facet Selection</h2>



<p>In the search results <code>facet_counts.facet_fields</code> contains all the facets. To apply a facet and narrow down the search results, the <code>fq</code> parameter is used. </p>



<ul class="wp-block-list">
<li><strong>Add a facet on content_type, selecting Blog</strong></li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;fq=content_type:&quot;blog&quot;
</pre></div>


<ul class="wp-block-list">
<li><strong>Add 2 facets: </strong>To add multiple facets, simply pass multiple fq parameters</li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;fq=content_type:&quot;blog&quot;&amp;amp;fq=author_name:&quot;John Adams&quot;
</pre></div>

<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;fq=content_type:&quot;blog&quot;&amp;amp;fq=author_name:(&quot;John Adams&quot; OR &quot;Jane Doe&quot;)
</pre></div>


<p></p>



&nbsp;&nbsp;



<h2 id="spelling">Spelling Suggestions</h2>



<p>If a user misspells the search term, and a corresponding correction can be detected, <code>spellcheck.suggestions</code> will contain the spelling suggestions. Example: </p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecole
</pre></div>


<p>gives back:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
{
  &quot;responseHeader&quot;:{..},
  &quot;response&quot;:{&quot;numFound&quot;:0,&quot;start&quot;:0,&quot;docs&quot;:&#x5B;]
  },
  &quot;facet_counts&quot;:{},
  &quot;highlighting&quot;:{},
  &quot;spellcheck&quot;:{
    &quot;suggestions&quot;:&#x5B;
      &quot;sitecole&quot;,{
        &quot;numFound&quot;:1,
        &quot;startOffset&quot;:0,
        &quot;endOffset&quot;:8,
        &quot;suggestion&quot;:&#x5B;&quot;sitecore&quot;]}],
    &quot;correctlySpelled&quot;:false},
  &quot;metadata&quot;:{..}
}

</pre></div>


&nbsp;&nbsp;



<p id="spellmethods">There are two methods to apply Spell Check suggestions to a user:</p>



<p><strong>1 .</strong></p>



<p class="has-text-align-left"><strong>Only provide a Suggestion</strong>: Results are displayed for the user&#8217;s original misspelled search input with a &#8220;Did you mean [suggested spelling]?&#8221; path. With this method, you do not need to add any special parameters to the API.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="993" height="274" src="https://demo.searchstax.com/docs/wp-content/uploads/2023/06/image-24.png" alt="" class="wp-image-15768" style="width:692px;height:190px" srcset="https://demo.searchstax.com/docs/wp-content/uploads/2023/06/image-24.png 993w, https://demo.searchstax.com/docs/wp-content/uploads/2023/06/image-24-300x83.png 300w, https://demo.searchstax.com/docs/wp-content/uploads/2023/06/image-24-768x212.png 768w" sizes="auto, (max-width: 993px) 100vw, 993px" /></figure></div>


&nbsp;



<p><strong>2 .</strong></p>



<ul class="wp-block-list">
<li><strong>Autocorrection</strong>: The user&#8217;s original misspelled search input is autocorrected and results are displayed for the spell check suggestion returned with a &#8220;Search instead for [original search input]?&#8221; path. With this method, the parameter `spellcheck.correct` can be used. Example</li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=searchstaz&amp;amp;spellcheck.correct=true
</pre></div>

<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="314" src="https://demo.searchstax.com/docs/wp-content/uploads/2023/06/image-25-1024x314.png" alt="" class="wp-image-15769" style="width:683px;height:209px" srcset="https://demo.searchstax.com/docs/wp-content/uploads/2023/06/image-25-1024x314.png 1024w, https://demo.searchstax.com/docs/wp-content/uploads/2023/06/image-25-300x92.png 300w, https://demo.searchstax.com/docs/wp-content/uploads/2023/06/image-25-768x235.png 768w, https://demo.searchstax.com/docs/wp-content/uploads/2023/06/image-25.png 1233w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></div>


<p>When using the <strong>autocorrection method</strong>, there are two additional <code>responseHeader.params</code>:</p>



<ol class="wp-block-list">
<li><code>originalQ</code> that contains the original query, searchstaz</li>



<li><code>autoCorrectedQ</code> that contains searchstax and is an indicator that the user&#8217;s query was misspelled and autocorrected to this value.</li>
</ol>



&nbsp;&nbsp;



<p>The spellcheck component is configured to return back 1 spelling suggestion. To retrieve more spelling suggestions, the parameter `spellcheck.count` can be used. Example</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecole&amp;amp;spellcheck.count=4
</pre></div>


<p>If you would like no spelling suggestions offered when there are any documents matching the query, pass <code>spellcheck.maxResultsForSuggest=1</code></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecole&amp;amp;spellcheck.count=4&amp;amp;spellcheck.maxResultsForSuggest=1
</pre></div>


&nbsp;&nbsp;



<h2 class="wp-block-heading" id="h-advance-search-api-options">Advance Search API Options</h2>



<ul class="wp-block-list">
<li><strong>metadata</strong>:   emselect endpoint returns additional metadata that can be useful for the User Interface. If you would not like that to be returned, you can pass &#8216;metadata=false&#8217; to the API. Example:</li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;metadata=false
</pre></div>


<ul class="wp-block-list">
<li><strong>flAdditional</strong>:  You should select the list of fields to be returned from the Search App. However, if you would like to add additional fields to the results, you can pass them as the flAdditional parameter. Example: </li>
</ul>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;flAdditional=geodist(),score
</pre></div>


<p>&nbsp;&nbsp;</p>



<h2 id="search-models">Personalization / Search using different models</h2>



<p>Site Search allows you to configure multiple Search Profiles. These could be used for an experiment, or to provide personalized search results. For instance, you could configure your custom search page to show one model on first use, but switch to another on subsequent searches or visits.</p>



<p>To use a particular model, pass the model name as the <code>model</code> parameter. If no model is specified or the model name that is specified does not exist, the search engine uses what is specified as the &#8220;default&#8221; model in the Search App. </p>



<p>Example: If you have a model named &#8216;experimentA&#8217;  you can pass it as shown below:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; auto-links: false; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-SearchStudioCorpSite/emselect?q=sitecore&amp;amp;model=experimentA
</pre></div>


<p></p>



<p></p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Studio%3A%20Search%20API" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api/">Search API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Auto-Suggest API</title>
		<link>https://demo.searchstax.com/docs/searchstudio/searchstax-studio-auto-suggest-api/</link>
		
		<dc:creator><![CDATA[Bruce]]></dc:creator>
		<pubDate>Wed, 31 Mar 2021 15:37:21 +0000</pubDate>
				<guid isPermaLink="false">https://site-qa.searchstax.com/docs/?post_type=site_search&#038;p=8405</guid>

					<description><![CDATA[<p>Auto-Suggest API The SearchStax Site Search solution&#8217;s Auto-Suggest URL is available on the Search API tab. This endpoint provides suggestions to search users. The Autosuggest Endpoint for your App is&#8230; <a class="more-link" href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-auto-suggest-api/">Continue reading <span class="screen-reader-text">Auto-Suggest API</span></a></p>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-auto-suggest-api/">Auto-Suggest API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading" id="h-auto-suggest-api">Auto-Suggest API</h1>



<hr class="wp-block-separator has-css-opacity"/>



<p>The SearchStax Site Search solution&#8217;s <strong>Auto-Suggest URL</strong> is available on the <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-search-api-tab/">Search API tab.</a> This endpoint provides suggestions to search users.</p>



<p>The <strong>Autosuggest Endpoint</strong> for your App is available within your <a href="https://demo.searchstax.com/docs/searchstudio/creating-a-searchstax-studio-app-2/">App Settings</a> page as shown below:<img decoding="async" src="data:image/png;base64,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QAIkQAIkkBYIuHv6IC5OPlk6w14Umhm2alkwvQhQaOpFMm2nQ6GZtuuHuSMBEiABEiCBjERAsmi6uLhkaLFJoZmRWizLkiwEKDSTBWuaS5RCM81VCTNEAiRAAiRAAhmWgIurG9zEUYLSlVEtmxlRaEqLA9yjmWG7ZcoXjEIz5ZmnxhspNFODOt9JAiRAAiRAApmXgCQ2Xd08MqxlM6MJTaMFmkIz8/ZZ3UtOoak70jSZIIVmmqwWZooESIAESIAESIAE0hQBCs00VR3pOzMUmum7/pzNPYWms6R4HwmQAAmQAAmQAAlkXgIUmpm37nUvOYWm7kjTZIIUmmmyWpgpEiABEiABEiABEkhTBCg001R1pO/MUGim7/pzNvcUms6S4n0kQAIkQAIkQAIkkHkJUGhm3rrXveQUmrojTZMJUmimyWphpkiABEiABEiABEggTRGg0ExT1ZG+M0Ohmb7rz9ncU2g6S4r3kQAJkAAJkAAJkEDmJUChmXnrXveSU2jqjjRNJkihmSarhZkiARIgARIgARIggTRFgEIzTVVH+s4MhWb6rj9nc0+h6Swp3kcCJEACJEACJEACmZeAVaFJwZB5GwRLTgIkQAIkQAIkQAIkQAIkQAJJJUChmVSCfJ4ESIAESIAESIAESIAESIAESEBDgEKTDYIESIAESIAESIAESIAESIAESEBXAhSauuJkYiRAAiRAAiRAAiRAAiRAAiRAAhSabAMkQAIkQAIkQAIkQAIkQAIkQAK6EqDQ1BUnEyMBEiABEiABEiABEiABEiABEqDQZBsgARIgARIgARIgARIgARIgARLQlQCFpq44mRgJkAAJkAAJkAAJkAAJkAAJkACFJtsACZAACZAACZAACZAACZAACZCArgQoNHXFycRIgARIgARIgARIgARIgARIgAQoNNkGSIAESIAESIAESIAESIAESIAEdCVAoakrTiZGAiRAAiRAAiRAAiRAAiRAAiRAock2QAIkQAIkQAIkQAIkQAIkQAIkoCsBCk1dcTIxEiABEiABEiABEiABEiABEiABCk22ARIgARIgARIgARIgARIgARIgAV0JUGjqipOJkQAJkAAJkAAJkAAJkAAJkAAJUGiyDZAACZAACZAACZAACZAACZAACehKgEJTV5xMjARIgARIgARIgARIgARIgARIgEKTbYAESIAESIAESIAESIAESIAESEBXAhSauuJkYiRAAiRAAiRAAiRAAiRAAiRAAhSabAMkQAIkQAIkQAIkQAIkQAIkQAK6EqDQ1BUnEyMBEiABEiABEiABEiABEiABEqDQZBsgARIgARIgARIgARIgARIgARLQlQCFpq44mRgJkAAJkAAJkAAJkAAJkAAJkACFJtsACZAACZAACZAACZAACZAACZCArgQoNHXFycRIgARIgARIgARIgARIgARIgAQoNNkGSIAESIAESIAESIAESIAESIAEdCVAoakrTiZGAiRAAiRAAiRAAiRAAiRAAiRAock2QAIkQAIkQAIkQAIkQAIkQAIkoCsBCk1dcTIxEiABEiABEiABEiABEiABEiCBVBWaJRv3xbDP6qNG8dzw93IFYiPx5PYFbF82A6Pn/orrqvoZs/EEer5mp8Lu7kKvSv2w0vyW/N2xdVdXFP5lBEp13WA9gaErcb9zKcvfosNx78YfWDdtPAavv2jl2byo3aMPhrd5B6XzecNd3BEd9hDXTm5DyLAQfP+v+pFGCD3cB5j4Ltr+YKMcH0/Fn1Py4fsirTDC2bbpTPnkdGsjj3maonw3/t6NxZNmYNreW6pf+2HXxQ9wrb9ZXvO/hS59OqLru2XwUk5H5XW2ALyPBEiABEiABEiABEiABEggoxFINaEZ0HIqto2tgBvLp2PgwvU4cUNCmxflPmmPSUOaIu+vIajfc61JbEpCs/qv5VB7fMKqIECIyGMf58VTtzOYUK4XvrL2uCQ0G9+0FKr5SyOwy1CMCgzAsQmt0GKxWozlxacLQjGl4h0smTAes74/K+c1oExjfD6mLzoUOo/JHTpjyknjC5NHaDpVPkloDgLGmAtxqXx9xiKkqQfW9WyE3tuNebUmNN/AmI1z0CHLQcwaPwuTdijCu1gtDBzYDz2qPkboZ20w4reE1Q/vJgESIAESIAESIAESIAESyHgEUkloVsfcvbPx5q+dUGnQUUuqlYfh4LJK+L2zED97DD8nTmi+hknbvkKZrSNxtdlYFFjTCPWnq8Wi8mpbQlP5+YMZW/FN0R0o13CqSfgGfL4Yh3r6IbRdCwRZiKs3ELx5HlremYpiHVYpqSSH0HSyfLaEppyzvOge+h2G+65ExWbzlPJZEZqivDc6R2PC+10wS14UUF+GNIZ6LEGBVksyXi9hiUiABEiABEiABEiABEiABBJEIJWEpiS6hiHHt5Xw4Sxr+a2O6VsnoOiOt9FoahKEZt0JODnJH7OEJfPYmB+wtfLvqF9vAo6Zv9KB0ITF73mF8N2Cjy70R9k+u6wD7zgPl7qFYYjJipgMQtPZ8tkVmiL7koj89BH+Z8qrFaEpMXj/X7SoMQw7rZW421z8/clDDH03CLY8gxPUMnkzCZAACZAACZAACZAACZBAuiWQSkIzL/qvXo9+WdajTecQ7LKwkFnyTIxF87Mle/H541EGMSjtZdz5Hv5o9TEGmtxZlfc4EJpSOmP81Ra/plj+ez94za2OZovt1H3+vAi4cUuxEuovNJ0unx5Cs+44HJv3Fs6P/Awtllnbr5pu+wAzTgIkQAIkQAIkQAIkQAIkoDOBVBKaohT562LqguFoWfgJjuxaj3XLduCbI7YFTMKFZhusOdEEF9rFC0uNMFODtCE0A8q8h48+64L+tSKxrIt6/6GNYDl2K0dvoZmA8jlwnZVFPxYjf4uFSgmsl69q19mY80Ul+PyzH+vXb8GqLTuVvbU6t0omRwIkQAIkQAIkQAIkQAIkkK4JpJ7QVLCVrPMpegY2Qe03XkIejzBcO74bC+bNx0JNFFTDHk2bUWetRJwN6PsN9lb/DTVM+w7FC1WuppqgQLaizopHIm8fxaLRQRix1YmorA6F5hh8kNtRe/kTc5yIOpug8tkSmkogn8/ffoYlHUSkW9NeUztCWgog1PYztK1fHqXz+wN3/8HuDd9iXMhmnHNUNP5OAiRAAiRAAiRAAiRAAiSQKQikutBUU5YtiG3aovdHxfBo85f4+H+JjTorBcmZhULL30GLUPUbpL/PRdHVNbQur/aizvYZheCm2bF3eFu0XWUUm6lt0Uxg+WwcbyIfxfLXISyb7uTxJhZdogiqtP4IX3T8BG9nO4sZvTpjIqPOZoqBg4UkARIgARIgARIgARIgAXsE0pTQNGW08gD8srQhbo2vYRKKCXKdlSyXC+rjJRsljzi6QBVhVdzkxB7NCdnXIHeTmUqKTuzRFJa/d17xwvVdxxVLn46uswktn6M9mhacEiqkxVEvi5ZjasGdqGct2BL7IAmQAAmQAAmQAAmQAAmQQKYikDpCs1EwfusDTLIToVQSlk2vDMFrPbfKFZIQoSkdRzLFex5Kdd1gWZnWggIlR9RZKZJr4H18XmWAEoVVP6GZ4PLpIDSHrNyHt47ERwG2ACu9Y1IerCjWBmMzVRdiYUmABEiABEiABEiABEiABMwJpI7QLDsEB9bWwJnu9dFlu7VKaYnVJwYi93cNUHu8wV3VeaEpPdsO/w20lTZExNvDaPpPR1QNOm14eYKFJpB652gmonw6CE3LyLvaeqsgjo/Z9v5l9DYdkcLORgIkQAIkQAIkQAIkQAIkkFkJpI7QFLRbTdqASR8CB0MXY0LoelP00pJ1umLY0A6o57kP/T8ZgG+Vo0+cFZpSkJwjzW6ic/Uh2GyrViVrY4vb8fc4EpoDl+Fu8/vo92YffGtKU7iLLgjFlIp3sGTCeMz6/qx8jElAmcb4fExfdMh3DP2b9jPlH9DHopmo8ukgNFG2C35c0gWlL2/CtLlLMXeHEiFYCg7UZShGBRbBxSW9UXf80czal1huEiABEiABEiABEiABEiABhUCqCU3p/SUb98Wwz+qjRvHc8PdyFX+JxvP7t3Ds5+WYMWOl5nxNu1FnpcTkyLOLUX5bKOr91d9wdqbNqws2/dUGz4x7QB0JTdkC+x4uBQUi0BQQSEo8L2r3GIhxHauiWE5vuEslCLuNs/s2Yvro2fhRcz6oHkJTCgKUiPLpITSl4uZ/C136dETXd8vgJaW8sRHPcOuf3/DDV7Mwaj3P1+TIQgIkQAIkQAIkQAIkQAIkAKSq0GQFkAAJkAAJkAAJkAAJkAAJkAAJZDwCFJoZr05ZIhIgARIgARIgARIgARIgARJIVQIUmqmKny8nARIgARIgARIgARIgARIggYxHgEIz49UpS0QCJEACJEACJEACJEACJEACqUqAQjNV8fPlJEACJEACJEACJEACJEACJJDxCFBoZrw6ZYlIgARIgARIgARIgARIgARIIFUJUGimKn6+nARIgARIgARIgARIgARIgAQyHgEKzYxXpywRCZAACZAACZAACZAACZAACaQqAQrNVMXPl5MACZAACZAACZAACZAACZBAxiNAoZnx6pQlIgESIAESIAESIAESIAESIIFUJUChmar4+XISIAESIAESIAESIAESIAESyHgEKDQzXp2yRCRAAiRAAiRAAiRAAiRAAiSQqgQoNFMVP19OAiRAAiRAAiRAAiRAAiRAAhmPAIVmxqtTlogESIAESIAESIAESIAESIAEUpUAhWaq4ufLSYAESIAESIAESIAESIAESCDjEaDQzHh1yhKRAAmQAAmQAAmQAAmQAAmQQKoSoNBMVfx8OQmQAAmQAAmQAAmQAAmQAAlkPAIUmhmvTlkiEiABEiABEiABEiABEiABEkhVAhSaqYqfLycBEiABEiABEiABEiABEiCBjEeAQjPj1SlLRAIkQAIkQAIkQAIkQAIkQAKpSoBCM1Xx8+UkQAIkQAIkQAIkQAIkQAIkkPEIUGhmvDpliUiABEiABEiABEiABEiABEggVQlQaKYqfr6cBEiABEiABEiABEiABEiABDIeAQrNjFenLBEJkAAJkAAJkAAJkAAJkAAJpCoBCs1Uxc+XkwAJkAAJkAAJkAAJkAAJkEDGI5BphWZg8BQUWNcfIb9nvEq1LFFDTA8G+gZtFD/Vw/ggYGjwtjRY8LSct8TiSm9lehV9gt7AgeBQZIquYbdaRb9ZmBeruizCocRWP8picHAl7AmS0nCebVLHp8Q+X6XPENQ6MCGNjYvOc0t0NaWRBxNbb4nPfuZhm3hGypPNhmA6JqDvGvHvRl9gPKZh6IYkpxqfQHKkqWP2mBQJkAAJJIZAqgnNQnU6Y/DHryKXtytcRc6f3TiExRNXYM9/iSlGwp+x/0EPQIM+nyGw7AvwdpVyF4Zre3/AyMWH8Uh+lVq4JfzdVp/wfQVtB7VHwwK+kF8Z/QQnNy3El+sv45n4Z9ImgMmQX52KnSrJ+NbFpK9q4+a4wZh2VpUDMZH4qWkAnkXGmv4Y9d/f+G7KHKy9Kv70ZmesaHILrWXBrv+VtDpOfH4Cg4cAQROwPPFJ6PakPC60KIM87lKS0Xh0ZgdC5mzF+ee6vcJOQub9RG+h6XwZkio4Evt88rbBFBiHRB+dXu0w+s446TxsHe5MbB8y553YetOhCI6TSCW2jjOWQneohaYer8zsPPVgyDRIgATSPIHUEZqlP8Winr5YPnSBSVhmr9YVMxrex+DBa3AzBbDZ+6CX6TIW/X03os90o7D0R62+Qfj47pf4fPldkTu9J0w+aDxiHGr9PRNBqw3CEr6F0DaoOwptHYyx+yk09WwS+QKHYWiRcPiG70OnKb/FJy0mEisCtqC1apLqV7kz5rZ4hgn9VuAvCk09q8EiLZl1W1csMY0LPijXYRB6Z12HjikiHCg0KTQT18QpNBPHLV09RaGZrqqLmSUBEkgbBFJHaDb4H5aW3I1204+pKORG48/r4PGsFdgl/lqoTg+M+rQ0ssYK69LzC1g+YbrBqlSgLoIHN0BJP8kSGo07B5eh/8JjsjiTPvZZf32GKk2LI/rI1+g07yQKfdgXY5sVhZ/0pufX8OPcWQg9HSbunYJCp04ib63yCPDxRMyD3zBz2LfYLywnjUeEoPS2wRiv0iB48V0M/PAZJt19Cz80LQEfb2HnDL+HvdNHYMYJH1TvMhDdqygWUFV+C7UdiTFZ16PdbMMKe5VeIWj7bB4GLFEEpfzXIug9szUeDQ5GqNpy82YzDCzwEBFvf4R38nrDLTockX9vxsfC7dVyQqieJAegaVBvBJbwQWzUE/z542lkfeup4jqrnUxr+ETfx/4lUzHtwBOL1mnJ9h4a9O+JLq9nQYyoomfnN2F48HZclkVyBfQe3QY1c7sjKuwODu65i6J5D8lWBvv5js+bdF/tW9eQ/503kO/GNrQdsxV4rTnGf1EDhdxiESPy+suiSZj5W5hlmzj+I0Jm/GLIi8UlWE9vi2cTfkL+oZXwW59Z2G68x4rQhOT6OK8+LnYPwWqN0DSv8/i2pX2lire0gl39Gs7mrI06BbxE+w3DX2vE4sKm7OgztatFHUNYubsM64YGL7kKxtq27lf5U0zpXFFY/mIRfvsottwIQIEDIbLLo2VdnbPRPoVb7zcf4FVv0ZjDw3H74AJ0WeiucvUE4t8jlUrkd/1cjFes7PJ7hAtC+VYlkVOY4aPuHsHskYY+ZNFP7daJgViLscHIvzJIa2VGZQwZXwq7h34ju6/abq8S5yzY++Q1NC/pD2/B5fLO+Rgaehn1Ro1F2T39MXKPsWYqY/i8Gjjzv8lYa+xvwm3Nsl9LFs38OPZ7btStmAc+XrG4vz8UXyjjjb36iW8DatdZ9f8b8rv9YSl0KJ1deDGYj2Uq1/4C4t4Rr+HIGMnqbDb+2eAqjW+lrl5BvjeKIruXO2Ku7cX4cd/hhFxe4bFho+9q+qeqH0tPPTu/FWOnCeuyyMOkkEJY21txKS7xKRYP9ce3HeZit3Tji80xfwAwuv938YuGVvnGj1PSY1F3j2L+uKVWvFqc41aqyxgMqZ4bPu4xCIv8FyvbT8MaO2VVj1Ox4Xexb+ctFA44jH7KOGU+/uQS35IxTQsji+RyYhp/aljpQ2fEGGi77xrahnBZtdLn7X2X7NWbsc+/+ZGhvsP/3iDafgTaftEEr+dwh0fMDWycMh5f/2k+ICaBra32ofE+KIkv5rTGszGjsPC28u4Xm2FukB/m9V6KC6ZxzPr4ovG0UFkArX0f5AVa5ZLGCcu6Et8KeZHY2jjxl2YOYeSo6TdqoakRndp2/OzyLkyduN7Q12zMV6y2VTtpavqGze/IdfPK5b9JgARIINUJpI7QFJP3HuM/RNYD32H+5vOKO6qKhbB4Lv7cF4v/t0CetPpV7ooFze5jwIBf0GDyALy4ZqQQgdJHIwBtJ/RBoc0DZatfYPAi1L8zD11nGIQnJMtph2hMGrnS4HpXoDFmfpENi/otxevBC1H3zlfoM8NgtSzTLQRfxC5Ax4UXhYtka8xo6odfQldh7V+WosvColm9B5Z9cANBQ9bL4iY+v5J1NgBdJn+ObKsHYzI6YWmLJxgx4DsLEZSvQW+MrHwNobO34uBdqWzay1yg2RNs+QJHYnLujegqhPwz+KBEi76Y/PppNJZdPlXCR7Yse2PpgEUmcTBxxFs4N2w0vjZOCpRsmLMt0yUYg3x/ML2jet/RaH13MnoIi+87/SehydUZ6L1a+vBJ1uDh+CxuOdokSGhOweA8v4j9ghsV8fouQmZVwdlRQozLCw6iLofmx7ruc5FtxBS8+etwDNshcfNHw2GDUW5PkNwmLK7S7bA48AE+F+lWEvms/9dIDNyk8LYQmoJdvS4Y+d510fZEXaqFpjS57hGN0V+sNNR50UB82T0Co6X7NC/VCs3F3bNiT/BchF4Q78xWH19OL419Hb7EevGMtk4lK/cE1P57ssJR3dYlofQeLo9XWGSrhKEhzRD79UBFaJr1A7vt0yBM4yd0qomnr2A+oxL+kASOxFxMnr+Y0AVZvu+n9Lc5qHV1KQbMl/qQDyr0HIleUYY+1DghdSLzEu9d2ABXu9hx4bXbXgXnVZXw77jxmCUWkiQRMfjLjxExSwjXHKJ/vvcPuo7abhgXJB7qf5vqy4pFc1U13JoVjBB58UWaNLdDzPQgzDxvr37UDcCO0Py2Ei7Pn2RY2PEtjf6TAxEppy3ViSI0z4pyTG4OhI5GiBjznOWq7a9iUaTPaHSM+Aod55+Dvb4b3wYVL4uzU8WeNKkfC+tyt2EYnGUDWk45JfI3FDm/GS7nNV/b/hhexh1XVhsWOvykCXOOVegsjaW2+oI05kqeIz7r0EMZrwt92B8Ta17CFxZ9yEwM2eEmuberXWcTP06ZjT+SOBqVEyuUb5J6/JHEtbYPOds2LD1VAu18l+yVRXqu2t/BGCAWVp6JMbD5mHFoluU0vhm9CFvEdhTtN8lW+xTt32m29tqHeoVWtA/xPQr2Xym3Peky/Tu0gIPxxcylXyM0zepHXSS7dWVnnBDbKCSOtS6JNr9IEp7afgMbQlNqx92jvjItHhdqEYSgF75Hl/kP0cnOfMW8rarTt9s3BAd73xErXz3+iQRIgARSjUAqCU2pvP54tfZ7aFj1VbyU5SHObN+OlbsMovPNXpPQ9u5IMcE2Ci7J4tcS93tbTkKr9JmCltf7yxv0zd1h3xTWwza3Rovf4oXba7WrA7v2o6x5MCBp8G5wAR3H/GyojGwl8H6DWqhRNi/8H/yDzRs24SeT6HTkOmu2t0uIoum9iyHcNwsuhIzGQmnSbuXyy10edT+ugprFciPi8jH8uPpnk+h0XmjuFOJ7ELynq1aQNa6+8Xl/s9dYNL80Pl5oSZOAtqMwEnPQLVRyEY6/tGxfxYB5jXH7fyoLrCS82j9Cx6DrGDqtGn7/QmUpNFuJ1gYbUbNUWzTj61XORePBWFF4O1qrrOCNRwTjlS1B2FxhBDo9XYqgFWorsXXGkgg2iUuRr2UtHhpEpHS7mEhs+fAF3H4SLT/sISx9EZf2Y/7stTgi7R1WC01JhI1/GT+NnOtgX7FWaJrv8QwMDoJbsIGjto7rY+rCgljbRSy2GIsiPAEWl9iJjoeqYFGt0+g88YCpkOpnHe/z0rZPm0JTMF+cd61pgii/rNbnWFr5GNqJd1u8R/CZWf2osBgfEyLC+ToxFMKx0LTfXqtYBO7xExO+WdlWCOGbFYNn1sW5wQYLptQG6p0diMFbzNuIY9fZKn2C0fh8kHjWTv1o3HztCE2zQENV+gSh9qFg2ZPCwHY49lcfimbX5itiTxJnznG1qBtfsTAT4o+5vY+hoc2+u1HVBkX5ZubBEmF1+sOEqRpGz6mAAz1n4Q/TOAF0GtsWD38Ow3tlDwjReBJ1B41ChZ9HWQkopOYrxpDpDfDvUJVVGbnRZUpPYLJ67FLahimgkuW+WTU37eQ9KeOU2fhjMZxo26u2DznbNqwJTbMgdabv0i07Y+5G0V7ixxE5q2IsW/XSNrQ0jZcVMHTCG9g1xDywlZmIt9MmtWzttw+Tl4iUF19RZyE58LXclnIL8dUbfgvFIsWrjsYX+0LT+N23PtKr/6quK8v2Ez9OXLQc00z95lv8ZVVoijY2pxFuDBBzE5MlV8wdagM/ifmM+aWer9gWmg76RgHLWAEW9e8YCu8gARIggRQhkIpCU10+yXLUAf2qXkXISDHZGTsPzXM9xGPDfF++PLzvYn3nadha9B10+ex9VM0Vh6cRsfDwz4V7m7pYFZr29htZmyTbDPQi9ks27NEeNS99hf7y6r75hNQfFVt3QrfaBeEVFo4oeCOH15+YoIpW2WDobHTG92gy/hfnKjZbGXQf1BRZfpyEycKS4bzQvGLFlv0JjAAAIABJREFUMmRdzDUbHYLiGwdrJ4RW3UfNRbyYZKyojzz3n4qyGi93+Nz6GS2DPS0jdeogNKXFh+Flo/EgPB6fq1ckjs0dJbsul6jxPhpXL4V8Pvdx/qdNmHfAihuRFARoTlkc6mmc3AoL1cxWeBysWHBtlN30RvM9mqKOmrSqircDcuL57eNYs3ir4pqormJHQjN+Yqmp43KdsKz/q4h6qC6wJyJOLkG3B40s9pLaF5r226ctoflcuAt3vDvYEGXReKkY2O9DTtaJKWHHQtN+ey1o2e6EJ8TMKofQW4ifMt2C0eneOFGWChg9oyz29FHcPDW90RmhqQiQf+zUz0LhOqkul0kkOZrUqxfNFqJpjqdwjzyK/n2WC3dV4+UcV8vFBqPQuIbmNvuuyiU/rD2Wtr6PdprAV6o6EgtLi8TCUl8RzXqs0APDhz/AwOCiWBl0Co2n1MCx/qqFJlPe1XzrYcqcgljTUyt8rC+SOM/NQgwlepwyF5rSN6o5en1UHrnjniMi1h1Zcz/E2paGxU9NH7LXdzVtwzmhafguRdsZc7eZWVRFhizGMjVDdaNPJNtXHbQPTb/yQdNRw1ByUxBCrjbH3P6xGCsW93I7HF8SKzTt1ZWl0IRqnLDdb0Q7tSo0bXE1APCzM1+xLTQd9A0xk7BcsMxMUfSdm0LxLhIggbRBIFWE5itN2uLNv0OxTB3xU7iptJ0wDNkXB+FgvZFoeHq0ak+VEZbkMlgfDxd+idnHDS6tCbVoZg/IB1y/iQ+sWDQNg/dptOzyGs4s3KhayRcvUq9smglN2VW10F6Mnr5biY6p/ZhJQU6mN3qOk3gFWTaMl13gtFcV9Ozijm8W7je49pmK2xVL6/2DdsLKaik0jZYV483GSdwhK1YB60IzSRbNybVxcoC1yWS81cO0qq0RmrbyrXXr1az8SkUU1rW5Wb9GDzNLq2U38keDoQPxxt7hFq6zfh8OwLJmufFIsVhKz0oLFTGHpqCd5NaVUKGperlf0VaY3CUKYy2CWSVSaEKI+cn+mCzcrC2CY6msisYs2BOajtqnnhZN64s1tutEXX/W92iK9jTtNez4YgHC7VrgrVs0F+RejzazhfAT+wblCe7mfBj35mFtEChTJhIgNNfYqR9No0yIRdPcO0NYNKuNFNPK70zupdr2bpur5YRZlG1eHizrfgjv2Oy7auHjyGIlyjXzPZzb64HqmIF+wmuk7qAheOXgNbzyzg30MHqGaDKcXBZNlSjUuM4Ky1CixykzoSm5Wzf+DzPGLjd4N5hZ4C0smrb6rvnIb3acjO3Fmwt2ymLuuitektxCUxqf7Fi8NRZNqcxizPpa9Lthd97H8Ji58hYLaUy37zERLNyzDa7k8mXmOmvTomm3rqxbNI3jhFVPgC9zIrT71/jdaYumPwoGAFeul7Y7X9HXokmhaTkX4F9IgATSAoFUEZp+wgXwq2r/YkTwetOxBX5Fm2JCUEFs6zQdm8VerLmBzzAteK3yu1ihLJoD5y+8rv24CYtSr+E9UPxQd6sWTat7NAfkxgoRxKKYTaG50zICrLTPsXU/BBfZj+bBkkVSfKym+GCiEuxCK9gM+/pGf/wcMyWLprRXbHw93PhyAkIhXGj/lxtrhip7Ik0toKRwN+wo9r4JtzlTIB6xt7H/cAQ+mIfOiy8KoTkK9U8Kt9Y9ykOC4bIyh9BVuDCa78O02N8hPpAzyjuxR1Ps9RseUh83Rlnbo6n9kFm48Amrb4mcl3H+qvneHVEO4RLYASvRTnIptJNvtaXYQmhacVUtVLQQ7l14jpaTe8Jn3kTMlvY9irqqOygY7//dD/2kjY+mS3LZ6ousS8yCzUj7ecblwfedhYUrIUJTTGa+rvUn/jdut2GPcQERAGWwP77qKSYktibXVqLWqic22jqWOA5FmZ8nYayxTRQQjO8LxjDfOyntR2wJmPZoauvKbvsUeQ0MHgW/mUZ3RXt7NAuhw/CeeMm0J9rSzc8gNA8J1s7UiXYIlBdkWsVg+cjFijuyFHV2IHr6rUdnKZiW+R5NTXsVfXLF6zg5bCqWSO1AtMfuY/og13rDflLILns9UPKpCx5utubWKd2j7dfyvy1cCY0CxE79aIKhJEVoSuf8isA9g7rivX8XCDEX6TTXwOA5qHhqkimKtbRvLLjATrQRUZZt91210LTcgyeNgSPzG9KQrip9BqNTIeDQxBDDnm7Rt2fW8Ub4z1M17vjxtazlaz5OZa/WA7Mb34l3ZTc9mDCr2/x3z6Kb4lbu/Dhl2I/XTdgnDXvJLV331aIoe/lAhAwoiH2tjRZNdR9ytm1IDLXjuj0vAXv1ZhH1NpmEZjxbx+1D27vFIvGMt5El0gOnRipuphZ7wLXjyyti72Pf8PliG4e1vf52XJvNBKy2ruyPE4HB81D5TAiGyNswxLdcRL0em3Or2Jcs2nwC9miOzLtJRMrOb3e+IglNdVu1t0dT0zccfEfSwsSSeSABEiABI4FUEZqSGChRrw36NYk/R1MdEVbKnHSe3gBxzmY+cc5mlIic+u/mhSLa5R2UF9Fde1XNCQ8RhTPs7kmsPl8EdZ5MlPdzWq7ii/c07orhja1HnS2wTprIKSg0+++Eq2zn9mhpOkdTRFxUR5ITAX4Cxw7AJwVc8c/mkeh/qCKCh3yIV3xF5EQ5r78irmYAfvoiFOgj9ljdEnus5MA4olwthmBY3m0iAqsSsMhYE0I0d+gXiAbGczSliLqqiJJ+lTthds/yyPr4BKb3+gr7RB6aBvVF25e9EBVhFllWHfEwOgKX95yB+8v30ds8GJCUH3VUXrtRZ81XTKWzRjuKs0Zzi7NGoxH13xWsnbEA30mT/AI1MXzgJ3jDPxZRIprj0d8eI2/WPcrZdnbyrbIUW0z0RF79XmuM0d1roZCIOCwSxu2jazBMCkSjiexnFgHXyFcKAtThGYIsAo1Ibl2jRVTSkRiZq6+FS6pmqLAXdVYdBTeRQtOijtVnq4r2ILX3r8YbonJmr9YOkzpWRE63aMQ+OIdd97Ih2/YJSjAgs7qS+Fhtn4b9n4WaiUBVjfLD7eIOdB15BZ+ZXD0dRZ21JTSFddpmnUiRbkvjmBwR1PJSn6MZGxuBeyc3aSII2406u7AoLl/Ig8pK1NmbIkKsMSK19CbJor2q/h0M7aned6jOg1m//r66HaEpnrNTP/GpJlVoSilJ+eqKQj9Nxvgrb6mibtto6+IJTRRSD7OIwFIkVht916mos0YhLaxUaz+8jZ6m6LJiAUQEk/mjq3q/mj2+vqbo2NJdTkedtSn+pTqpgAETO6Ka/xMcnD8Ekw7ZGafEQsUXI1ujZg7BJ/YRTu27j5zKOGW50BUfSTtWHnu24q/iVfFY7BOX9ldr+9BG3HOqbUj9SzuuF7S5ACp5fNguS4oITXO2p+KZSPVnikps48xbKeDe+Ly70NIYlEvqk3aizspRgce1RW1RP+EW0cvtCE1VNFzLupIWj2yPExbRmm+LaPTGSNq2os6KRa3mX/RACxHlXeZgmisYIpPbmq9YtNWXRBAtTFC2KtiJyGxPaEa3xcK2wMJ+oWYLnlYGW/6JBEiABFKAQCoJzRQoGV+RdgjwYOpkrwvbAViS/dVp5AVW9l6Z5UwSmtNe+lFEgzREv+RFAhoCQjjPL7sX3VLkzNbMx75MtzH49NoEG9bulOJhf5xwHEgtpfLJ95AACZBAxiBAoZkx6jFtl4JCU//68fWB3/Mww55e+ZzFkiLAjTgmxYY1Qf8MpLUUHQlN6ZihDoiZMs7i6J60VhLmJ6UIiD7kK/qQcrZoYHA/lDkgjnDZYnm8VErlKMO+x1fstR4vgnD1tRaEKyVLTaGZkrT5LhIgARKg0GQbSH4CFJq6M36l1WAMr5NXuC0bDo/fv2Sq4TzGTHvZmUA2+gI/NC2CR79/g96zzVzWMy0vFhwlmmDa/2riJbE9w1XaqnBoFYbIZ8Ly0pPAm13GYEjVLLi46UslarueqSc0LQrNhBLj/SRAAiSQFAIUmkmhx2dJgARIgARIgARIgARIgARIgAQsCFBoslGQAAmQAAmQAAmQAAmQAAmQAAnoSoBCU1ecTIwESIAESIAESIAESIAESIAESIBCk22ABEiABEiABEiABEiABEiABEhAVwIUmrriZGIkQAIkQAIkQAIkQAIkQAIkQAIUmmwDJEACJEACJEACJEACJEACJEACuhKg0NQVJxMjARIgARIgARIgARIgARIgARKg0GQbIAESIAESIAESIAESIAESIAES0JUAhaauOJkYCZAACZAACZAACZAACZAACZAAhSbbAAmQAAmQAAmQAAmQAAmQAAmQgK4EKDR1xcnESIAESIAESIAESIAESIAESIAEKDTZBkiABEiABEiABEiABEiABEiABHQlQKGpK04mRgIkQAIkQAIkQAIkQAIkQAIkQKHJNkACJEACJEACJEACJEACJEACJKArAQpNXXEyMRIgARIgARIgARIgARIgARIgAQpNtgESIAESIAESIAESIAESIAESIAFdCVBo6oqTiZEACZAACZAACZAACZAACZAACVBosg2QAAmQAAmQAAmQAAmQAAmQAAnoSoBCU1ecTIwESIAESIAESIAESIAESIAESIBCk22ABEiABEiABEiABEiABEiABEhAVwIUmrriZGIkQAIkQAIkQAIkQAIkQAIkQAIUmmwDJEACJEACJEACJEACJEACJEACuhKg0NQVJxMjARIgARIgARIgARIgARIgARKg0GQbIAESIAESIAESIAESIAESIAES0JUAhaauOJkYCZAACZAACZAACZAACZAACZAAhSbbAAmQAAmQAAmQAAmQAAmQAAmQgK4EKDR1xcnESIAESIAESIAESIAESIAESIAEKDTZBkiABEiABEiABEiABEiABEiABHQlQKGpK04mRgIkQAIkQAIkQAIkQAIkQAIkQKHJNkACJEACJEACJEACJEACJEACJKArAQpNXXEyMRIgARIgARIgARIgARIgARIgAQpNtgESIAESIAESIAESIAESIAESIAFdCVBo6oqTiZEACZAACZAACZAACZAACZAACVBosg2QAAmQAAmQAAmQAAmQAAmQAAnoSoBCU1ecTIwESIAESIAESIAESIAESIAESIBCk22ABEiABEiABEiABEiABEiABEhAVwIUmrriZGIkQAIkQAIkQAIkQAIkQAIkQAIUmmwDJEACJEACJEACJEACJEACJEACuhKg0NQVJxMjARIgARIgARIgARIgARIgARKg0GQbIAESIAESIAESIAESIAESIAES0JUAhaauOJkYCZAACZAACZAACZAACZAACZAAhSbbAAmQAAmQAAmQAAmQAAmQAAmQgK4EKDR1xcnESIAESIAESIAESIAESIAESIAEKDTZBkiABEiABEiABEiABEiABEiABHQlQKGpK04mRgIkQAIkQAIkQAIkQAIkQAIkQKHJNkACJEACJEACJEACJEACJEACJKArAQpNXXEyMRIgARIgARIgARIgARIgARIgAQpNtgESIAESIAESIAESIAESIAESIAFdCaRPoflmZ6wYXA6+CMOhkP4I+V1XJsmbWLMh2N4yn3jHTSxtNgHLk/S2hpi+pjEKiDSuruqEvmuSlFgyPVwWgxf2xutnZqL1jJOW75Dr8mWcSrV6dJA/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UB6BnATN8hSU1yCAAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDgKAZjnailAgggAACCCCAAAIIIIBAaAQImqFpKgqKAAIIIIAAAggggAACCIRDIMWgWeLUJvJ/wlE1SokAAggggAACCCCAAAJpCVSznm3/f/whkJFAcNAsKdFP22+Z0Ql4MQIIIIAAAggggAACCIRLYKuvfzZ5k8AZrlbLr9J6B806m9ilLDH/b8X29fOrxJQGAQQQQAABBBBAAAEEKlSg/tcrzLimCZqMcFaocyEf3DdoWiFTZkRzxQ5bFXL9qRsCCCCAAAIIIIAAAgjECdT/6id7RJOwSdcor4BH0CxRTWtE04TMEvOfn3dsUHrsep8tSzwPI+rlted1CCCAAAIIIIAAAghUvoDPviu/7NK4tCxbfvmjyZnWiGZRZFCTD/2V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" alt=""></p>



<p>As your users enter characters, you can call this endpoint to get suggestions for search queries.</p>



<p>Example: As a user starts typing <strong>si</strong>, you can call:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
https://ss123456-cvrfzabx-us-east-1-aws.searchstax.com/solr/ss123456-CORPSITE-suggester-1/emsuggest?q=si&amp;amp;language=en
</pre></div>


<p>to get all suggestions for &#8220;si&#8221; as shown below:</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
{
  &quot;responseHeader&quot;: {
    &quot;zkConnected&quot;: true,
    &quot;status&quot;: 0,
    &quot;QTime&quot;: 0,
    &quot;params&quot;: {
      &quot;q&quot;: &quot;si&quot;,
      &quot;language&quot;: &quot;en&quot;,
      &quot;suggest.minPrefixChars&quot;: &quot;2&quot;,
      &quot;echoParams&quot;: &quot;all&quot;,
      &quot;suggest.count&quot;: &quot;6&quot;,
      &quot;suggest&quot;: &quot;true&quot;,
      &quot;suggest.dictionary&quot;: &quot;suggester1&quot;,
      &quot;wt&quot;: &quot;json&quot;
    }
  },
  &quot;suggest&quot;: {
    &quot;suggester1&quot;: {
      &quot;si&quot;: {
        &quot;numFound&quot;: 2,
        &quot;suggestions&quot;: &#x5B;
          {
            &quot;term&quot;: &quot;&amp;lt;b&gt;si&amp;lt;/b&gt;tecore&quot;,
            &quot;weight&quot;: 100,
            &quot;payload&quot;: &quot;&quot;
          },
          {
            &quot;term&quot;: &quot;&amp;lt;b&gt;si&amp;lt;/b&gt;te search&quot;,
            &quot;weight&quot;: 100,
            &quot;payload&quot;: &quot;&quot;
          }
        ]
      }
    }
  }
}
</pre></div>


<p>You can see all suggestions, along with their weights under <code>suggest.&lt;suggestername&gt;.&lt;enteredCharacters&gt;</code></p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading" id="questions">Questions?</h2>



<p>Do not hesitate to contact the <a href="mailto:support@demo.searchstax.com?subject=Studio%3A%20Auto-Suggest%20API" target="_blank" rel="noreferrer noopener">SearchStax Support Desk</a>.</p>
</div></div>
<p>The post <a href="https://demo.searchstax.com/docs/searchstudio/searchstax-studio-auto-suggest-api/">Auto-Suggest API</a> appeared first on <a href="https://demo.searchstax.com/docs">SearchStax Docs</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
