<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><p><strong>In this guide we will cover:</strong></p><p id="isPasted"><strong>- What is a Vector Search Database?</strong></p><p><strong>- Indexing</strong></p><p><strong>- Vector Search Database Options</strong></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">What is a Vector Search Database?</span></strong></p><p>A vector search database is a database that is designed to store and search embeddings. </p><p><br></p><p><strong>Embeddings</strong> - Numerical representations of data used to find items that are semantically similar. In Halo embeddings can be created for tickets, articles and services. Allowing search based on semantic meaning rather than exact word/string matches. When searching, embeddings are compared to see how similar the two are. </p><p><br></p><p>A vector search database is a core component of AI searching, therefore is required to complete any <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2125" id="isPasted" target="_blank" rel="noopener noreferrer">AI search functionalities</a> in Halo.</p><p><br></p><p><strong><span style="font-size: 14pt;">Indexing</span></strong></p><p id="isPasted">Indexing is the process of organising and storing embeddings so they can be searched quickly and accurately. This indexing takes place within the vector search database, where the embeddings are stored. </p><p><br></p><p>In Halo, indexing means tickets, knowledge base articles, or services are scanned, broken down into searchable pieces (like words, phrases, or embeddings), and added to a database. This makes it much faster for AI or search tools to find relevant matches later.</p><p><br></p><p>When initially setting up AI functionality in Halo, historic tickets, knowledge base articles, and services (if being used for semantic search in chatbots) will need to be indexed. All new tickets logged after the initial bulk indexing will be automatically indexed in the background (if configured to do so). After changing the method, vector search database, or embedding field, we would recommend re-indexing recent tickets.</p><p><br></p><p>Keep in mind indexing tickets requires pre-purchased tokens (if not using 'Default AI Connection' as your Default AI Connection). Therefore, the more tickets/articles/services you index (and the more data associated with each) the more tokens will be used, increasing the associated cost. </p><p><br></p><p><strong>Tokens - </strong>Tokens are the small text units (pieces of words or symbols) that AI models process and charge for. Each token processed will be chargeable. You will need to purchase tokens before you can begin using your AI connection, costs depend on how many tokens your input and output contain.</p><p><br></p><p id="isPasted"><strong><span style="font-size: 12pt;">Indexing Tickets</span></strong></p><p>Indexing tickets is required in order to use Halo's <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2386/" id="isPasted" target="_blank" rel="noopener noreferrer">AI Suggestions (Tickets and Articles)</a> functionality. </p><p><br></p><p>Before you can index tickets you will need to choose a vector search database to store ticket embeddings in under Configuration > AI, shown in figure 1. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImY2N2E0NGZhLTMyYWItNDczNC1iMjEwLWI0M2I4OTgzYmJkYiJ9.w27xPZOlmRMdokbfM2ueqIsk5nzCGz1ZPpxIsfOo47E" class="fr-fic fr-fil fr-dib" width="841" style="width: 843px; height: 419.256px;" height="419"></p><p><strong><span style="font-size: 10pt;">Fig 1. Ticket vector search database.</span></strong></p><p><br></p><p>To complete a bulk index of historic tickets, head to Configuration > AI and use the 'Index Tickets' action. This will preview the options shown in figure 2. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjdhY2QyNjFhLThjNGUtNDUyMy1hYTUxLTlkZTc5ODg1NzZkOCJ9.HhARYmWfHi8AXg7bFXv9Rr_a-Sc1dmexuCWCg8XQloU" class="fr-fic fr-fil fr-dib" width="653" style="width: 655px; height: 371.32px;" height="371"></p><p><strong><span style="font-size: 10pt;">Fig 2. Create embeddings to index tickets.</span></strong></p><p><br></p><p>You will need to choose which ticket types should be indexed, along with a start date and an end date for the indexing range. The start date is based on the date and time the ticket was originally logged in your Halo instance. Tickets logged between these dates will be indexed. </p><p><br></p><p>Once saved, the indexing automation will be scheduled to run outside of working hours. This will always be scheduled to run at 6pm local time, with the time zone determined by the time zone set under Configuration > Advanced settings. This will be set to your server time zone by default. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImJmNThiNjNiLTQ4YzUtNDM4Yi1hODBhLTEzNjk0MTIwM2VkMyJ9.UVcx-limCzJrru4on6G531_uTc5jPj-4z2vT0FTeC_0" class="fr-fic fr-fil fr-dib" width="966" style="width: 968px; height: 126.913px;" height="127"></p><p><strong><span style="font-size: 10pt;">Fig 3. Indexing scheduled.</span></strong></p><p><br></p><p>You do have the option to run this manually by heading to Configuration > Advanced Settings > Backend Service Monitoring > Automation Log > 'Upcoming' filter. You will then see the entries for the scheduled automations, and if you right-click, you will be presented with the option to retry, which will run the automation immediately.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjE1MTRhNWYyLWY3ZDAtNGY5Ny04NDU4LTA0NGJkZTY5ODJmNCJ9.M0HZ9GIPLBdUfwF9VlHMgrSRxvDuG9RSVpt8NFqY9Uk" class="fr-fic fr-fil fr-dib" width="1548" style="width: 1550px; height: 484.947px;" height="485"></p><p><strong><span style="font-size: 10pt;">Fig 4. Run Indexing immediately.</span></strong></p><p><br></p><p>For more information on running ticket indexing, and customising which tickets are indexed, check out <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2386" id="isPasted" target="_blank" rel="noopener noreferrer">AI Suggestions (Tickets and Articles)</a>.</p><p><br></p><p><strong><span style="font-size: 12pt;">Indexing Knowledge Base Articles and Services</span></strong></p><p id="isPasted">Indexing articles is required in order to use <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2386/" id="isPasted" target="_blank" rel="noopener noreferrer">AI Suggestions (Tickets and Articles)</a> functionality. </p><p><br></p><p>Before you can index articles (and services) you will need to choose a vector search database to store articles/services embeddings in under Configuration > AI, shown in figure 5. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjkyNTE1Y2VhLWVjYmQtNDhjOC04NDJjLTMwYjM5OGNkNjRmNyJ9.ggmzWKVmTmYqA5JPEN0xwFgGTddLRG7A8L26q1iJ5dk" class="fr-fic fr-fil fr-dib" width="719" style="width: 721px; height: 595.406px;" height="595"></p><p><strong><span style="font-size: 10pt;">Fig 5. Article/services vector search database.</span></strong></p><p><br></p><p>To complete a bulk index of knowledge base articles, use the 'Index Articles' button (figure 6). </p><p><br></p><p id="isPasted">To complete a bulk index of services, use the 'Index Services' button (figure 6). </p><p><br></p><p>This will trigger a bulk indexing job for the selected entity. Each button schedules an automated background task.</p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ4ODQ2M2I3LTdhOTMtNDcwMC1hNWMzLTUwYjNlYzFkNWE0OSJ9.P2s4LmjebcsatA7kvMKELbT3cShhI3v_cP1dmFsP_a4" class="fr-fic fr-fil fr-dib" width="605" style="width: 607px; height: 506.905px;" height="507"></p><p><strong><span style="font-size: 10pt;">Fig 6. Index Articles/Services.</span></strong></p><p><br></p><p>Similarly to when indexing tickets, this will be scheduled to take place out of hours, but this can be forced to run earlier under Configuration > Advanced Settings > Backend Service Monitoring > Automation Log.</p><p><br></p><p>After the first index is run, the search indexes will automatically be updated when records are updated (provided 'Create Embedding Scores for Tickets' is enabled'). </p><p><br></p><p data-pasted="true">From v2.242+, the setting "Include Service Request Details and Incident Details when indexing services" can be enabled to include the request and incident details on a service as part of the embedding. This means they will be accounted for in AI search, so if a request or incident label matches the search term, the parent service will appear in the results. </p><p><br></p><p>Additionally from v2.242+ services can be excluded from indexing based on their service category, by selecting the checkbox "Restrict which services are indexed based on their service category". Selecting this will show a field against each Service Catergory where you specify whether to allow indexing. For a service to be eligible for indexing, it must be directly under a category with indexing enabled.</p><p><br></p><p>For more information on running indexing, and customising which articles are indexed, check out <a data-fr-linked="true" href="https://usehalo.com/haloitsm/guides/2386" id="isPasted" target="_blank" rel="noopener noreferrer">AI Suggestions (Tickets and Articles)</a>. </p><p><br></p><p><strong><span style="font-size: 14pt;">Vector Search Database Options</span></strong></p><p><strong><span style="font-size: 12pt;">Halo Vector Store V1</span></strong></p><p>Halo Vector Store V1 is Halo’s built-in vector search database. It allows your tickets to be indexed directly inside Halo, making them searchable and usable for AI features without the need for an external service like Azure AI Search.</p><p><br></p><p><strong><span style="color: rgb(235, 107, 86);">Important: This vector search database can only be used for ticket searching and not knowledge searching</span></strong></p><p><br></p><p><strong>Pros:</strong></p><ul><li>No additional connection needs to be configured.</li></ul><p><strong>Cons:</strong></p><ul><li>Restricted AI functionality is available when using this database. Knowledge base searching (article matching) cannot be used when using this database.</li></ul><p><br></p><p><strong><span style="font-size: 12pt;">Azure AI Search</span></strong></p><p>Azure AI Search uses Microsoft's vector search database. Tickets, articles and services will be indexed outside of Halo with both ticket and embedding data stored within your Azure search service. </p><p><br></p><p><strong>Pros:</strong></p><ul><li>Tickets, articles and services can be indexed allowing you to utilize all of Halo's AI functionality. </li></ul><p><strong>Cons:</strong></p><ul><li>Requires a connection to an Azure AI search service</li></ul><p><br></p><p><strong>Create an Azure AI Search service (for Azure AI search)</strong></p><p>For information on how to setup an Azure AI search service in Azure checkout Microsoft's guide: <a data-fr-linked="true" href="https://learn.microsoft.com/en-us/azure/search/search-create-service-portal" id="isPasted" target="_blank" rel="noopener noreferrer">Create an Azure AI Search service in the Azure portal</a>.</p><p><br></p><p>Ensure the service you setup allows authentication using API keys. </p><p><br></p><p>Once setup obtain:</p><ul><li>Admin key (Found under Settings> Keys section within your search service).</li><li>Endpoint URL (displayed on the Overview page).</li></ul><p><br></p><p>These will need to be plugged into Halo to authorise the connection between Halo and your Azure AI Search service. To plug these details in, head to Configuration > AI > Select 'Azure AI Search' as the 'Vector search database' > Configure Connection. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImRhYWM3ODhiLTU0ZWEtNGFkYy04YTYyLTgwZGVjYmY5NGMyMCJ9.pVvKw8C_L3hGDpKbcJblaN5TZ8qiPLE6uY76q6SKVec" class="fr-fic fr-fil fr-dib" width="525" style="width: 527px; height: 513.083px;" height="513"></p><p><strong><span style="font-size: 10pt;">Fig 7. Azure AI connection details. </span></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">AWS Opensearch</span></strong></p><p id="isPasted">AWS Opensearch uses AWS's vector search database. Tickets, articles and services will be indexed outside of Halo with both ticket and embedding data stored within your opensearch domain.</p><p><br></p><p><strong>Pros:</strong></p><ul><li id="isPasted">Tickets, articles and services can be indexed allowing you to utilize all of Halo's AI functionality. </li></ul><p><strong>Cons:</strong></p><ul><li>Requires a connection to an AWS Opensearch search service</li></ul><p><br></p><p><strong>Connecting </strong></p><p>Setting up a connection to your own AWS OpenSearch service will require a Domain endpoint URL, Master Username, and Password, we outline how to obtain these below: </p><p><br></p><p id="isPasted">To create a new search service within AWS, start by signing in to the <a data-fr-linked="true" href="https://aws.amazon.com/console" style="box-sizing: inherit; color: rgb(15, 97, 161); background-color: rgb(255, 255, 255); touch-action: manipulation; text-decoration: none; cursor: pointer; user-select: auto; font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal;" id="isPasted" target="_blank" rel="noopener noreferrer">AWS Management Console</a> > create a new OpenSearch Domain > search for OpenSearch Service > Create domain.</p><ul><li>Choose a deployment type (usually Production for live environments or Development and testing for non-production).</li><li>Enter a Domain name (e.g., halovectorsearch).</li><li>Under Deployment options, choose your preferred AWS Region.</li><li>Configure data nodes and storage as needed (defaults are fine for testing).</li><li>Under Access policy, select a configuration that allows secure access from Halo (either by specific IPs or IAM roles).</li><li>Click Create to deploy your OpenSearch domain.</li></ul><p>Once the domain is action retrieve the connection details required. </p><p><br></p><p>Go to your OpenSearch domain dashboard in AWS.</p><ul><li>Copy the Domain endpoint URL — this will be used as the connection endpoint in Halo.</li><li>Note down the username and password associated with your OpenSearch domain (these are typically created during setup, or you can manage them under Security > Master user).</li></ul><p>Now plug your AXS Opensearch credentials into Halo to authorise the connection. </p><p><br></p><p>In Halo, navigate to Configuration > AI > select 'OpenSearch' as the Vector search database > Configure OpenSearch > Enter the following details from your AWS OpenSearch domain:</p><p>Domain Endpoint - This will be your copied OpenSearch endpoint URL.</p><p>Username - The OpenSearch master username.</p><p>Password - The corresponding password</p><p><br></p><p>Save your configuration to establish the connection.</p><p><br></p>