Modified: sites/solr/guide/solr/9_8/query-guide/dense-vector-search.html
URL: 
http://svn.apache.org/viewvc/sites/solr/guide/solr/9_8/query-guide/dense-vector-search.html?rev=1088329&r1=1088328&r2=1088329&view=diff
==============================================================================
--- sites/solr/guide/solr/9_8/query-guide/dense-vector-search.html (original)
+++ sites/solr/guide/solr/9_8/query-guide/dense-vector-search.html Sun Dec 22 
15:25:07 2024
@@ -1523,10 +1523,10 @@ client.add(Arrays.asList(d1, d2));</code
 <h2 id="query-time"><a class="anchor" href="#query-time"></a>Query Time</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Apache Solr provides two query parsers that work with dense vector fields, 
that each support different ways of matching documents based on vector 
similarity: The <code>knn</code> query parser, and the 
<code>vectorSimilarity</code> query parser.</p>
+<p>Apache Solr provides three query parsers that work with dense vector 
fields, that each support different ways of matching documents based on vector 
similarity: The <code>knn</code> query parser, the 
<code>vectorSimilarity</code> query parser and the 
<code>knn_text_to_vector</code> query parser.</p>
 </div>
 <div class="paragraph">
-<p>Both parsers return scores for retrieved documents that are the approximate 
distance to the target vector (defined by the similarityFunction configured at 
indexing time) and both support "Pre-Filtering" the document graph to reduce 
the number of candidate vectors evaluated (with out needing to compute their 
vector similarity distances).</p>
+<p>All parsers return scores for retrieved documents that are the approximate 
distance to the target vector (defined by the similarityFunction configured at 
indexing time) and both support "Pre-Filtering" the document graph to reduce 
the number of candidate vectors evaluated (without needing to compute their 
vector similarity distances).</p>
 </div>
 <div class="paragraph">
 <p>Common parameters for both query parsers are:</p>
@@ -1650,6 +1650,69 @@ client.add(Arrays.asList(d1, d2));</code
 </div>
 </div>
 <div class="sect2">
+<h3 id="knn_text_to_vector-query-parser"><a class="anchor" 
href="#knn_text_to_vector-query-parser"></a>knn_text_to_vector Query Parser</h3>
+<div class="paragraph">
+<p>The <code>knn_text_to_vector</code> query parser encode a textual query to 
a vector using a dedicated Large Language Model(fine tuned for the task of 
encoding text to vector for sentence similarity) and matches k-nearest 
neighbours documents to such query vector.</p>
+</div>
+<div class="paragraph">
+<p>In addition to the parameters in common with the other dense-retrieval 
query parsers, it takes the following:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>model</code></dt>
+<dd>
+<table class="tableblock frame-none grid-all fit-content">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><strong>Required</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Default: 
none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The model to use to encode the text to a vector. Must reference an existing 
model loaded into the <code>/schema/text-to-vector-model-store</code>.</p>
+</div>
+</dd>
+<dt class="hdlist1"><code>topK</code></dt>
+<dd>
+<table class="tableblock frame-none grid-all fit-content">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">Optional</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Default: 
10</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>How many k-nearest results to return.</p>
+</div>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>Here&#8217;s an example of a simple <code>knn_text_to_vector</code> 
search:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">?q={!knn_text_to_vector model=a-model f=vector topK=10}hello 
world query</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The search results retrieved are the k=10 nearest documents to the vector 
encoded from the query <code>hello world query</code>, using the model 
<code>a-model</code>.</p>
+</div>
+<div class="paragraph">
+<p>For more details on how to work with vectorise text in Apache Solr, please 
refer to the dedicated page: <a href="text-to-vector.html" class="xref 
page">Text to Vector</a></p>
+</div>
+</div>
+<div class="sect2">
 <h3 id="vectorsimilarity-query-parser"><a class="anchor" 
href="#vectorsimilarity-query-parser"></a>vectorSimilarity Query Parser</h3>
 <div class="paragraph">
 <p>The <code>vectorSimilarity</code> vector similarity query parser matches 
documents whose similarity with the target vector is a above a minimum 
threshold.</p>
@@ -1710,6 +1773,90 @@ client.add(Arrays.asList(d1, d2));</code
 </div>
 </div>
 <div class="sect2">
+<h3 id="which-one-to-use"><a class="anchor" href="#which-one-to-use"></a>Which 
one to use?</h3>
+<div class="paragraph">
+<p>Let&#8217;s see when to use each of the dense retrieval query parsers 
available:</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="knn-query-parser-2"><a class="anchor" 
href="#knn-query-parser-2"></a>knn Query Parser</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>You should use the <code>knn</code> query parser when:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>you search for the top-K closest vectors to a query vector</p>
+</li>
+<li>
+<p>you work directly with vectors (no text encoding is involved)</p>
+</li>
+<li>
+<p>you want to a have a fine-grained control over the way you encode text to 
vector and prefer to do it outside of Apache Solr</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="knn_text_to_vector-query-parser-2"><a class="anchor" 
href="#knn_text_to_vector-query-parser-2"></a>knn_text_to_vector Query 
Parser</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>You should use the <code>knn_text_to_vector</code> query parser when:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>you search for the top-K closest vectors to a query text</p>
+</li>
+<li>
+<p>you work directly with text and want Solr to handle the encoding to vector 
behind the scenes</p>
+</li>
+<li>
+<p>you are building demos/prototypes</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Apache Solr uses <a 
href="https://github.com/langchain4j/langchain4j";>LangChain4j</a> to interact 
with Large Language Models.
+The integration is experimental and we are going to improve our stress-test 
and benchmarking coverage of this query parser in future iterations: if you 
care about raw performance you may prefer to encode the text outside of Solr</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="vectorsimilarity-query-parser-2"><a class="anchor" 
href="#vectorsimilarity-query-parser-2"></a>vectorSimilarity Query Parser</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>You should use the <code>vectorSimilarity</code> query parser when:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>you search for the closest vectors to a query vector within a similarity 
threshold</p>
+</li>
+<li>
+<p>you work directly with vectors (no text encoding is involved)</p>
+</li>
+<li>
+<p>you want to a have a fine-grained control over the way you encode text to 
vector and prefer to do it outside of Apache Solr</p>
+</li>
+</ul>
+</div>
+<div class="sect2">
 <h3 id="graph-pre-filtering"><a class="anchor" 
href="#graph-pre-filtering"></a>Graph Pre-Filtering</h3>
 <div class="paragraph">
 <p>Pre-Filtering the set of candidate documents considered when walking the 
graph can be specified either explicitly, or implicitly (based on existing 
<code>fq</code> params) depending on how and when these dense vector query 
parsers are used.</p>

Added: sites/solr/guide/solr/9_8/query-guide/text-to-vector.html
URL: 
http://svn.apache.org/viewvc/sites/solr/guide/solr/9_8/query-guide/text-to-vector.html?rev=1088329&view=auto
==============================================================================
--- sites/solr/guide/solr/9_8/query-guide/text-to-vector.html (added)
+++ sites/solr/guide/solr/9_8/query-guide/text-to-vector.html Sun Dec 22 
15:25:07 2024
@@ -0,0 +1,1522 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width,initial-scale=1">
+    <title>Text to Vector :: Apache Solr Reference Guide</title>
+    <meta name="generator" content="Antora 3.1.4">
+    <link rel="stylesheet" href="../../../_/css/site.css">
+    <script>var uiRootPath = '../../../_'</script>
+<!-- Solr Changes - Start -->
+    <link rel="icon" href="../../../_/img/favicon.ico" type="image/x-icon">
+<!-- Solr Changes - End -->
+  </head>
+  <body class="article">
+<header class="header">
+  <nav class="navbar">
+    <div class="navbar-brand">
+      <!-- Solr Changes - Start -->
+      <img class="navbar-item" src="../../../_/img/solr-sunOnly-small.png" 
width="30" height="30">
+      <a class="navbar-item" href="https://solr.apache.org/guide";>Apache Solr 
Reference Guide</a>
+      <!-- Solr Changes - End -->
+        <div class="navbar-item search hide-for-print">
+          <div id="search-field" class="field">
+            <input id="search-input" type="text" placeholder="Search the docs">
+          </div>
+        </div>
+
+      <button class="navbar-burger" data-target="topbar-nav">
+        <span></span>
+        <span></span>
+        <span></span>
+      </button>
+    </div>
+    <div id="topbar-nav" class="navbar-menu">
+      <div class="navbar-end">
+        <!-- Solr Changes - Start -->
+        <a class="navbar-item" href="https://solr.apache.org/"; target="_blank" 
rel="noreferrer nopener">Solr Website</a>
+        <div class="navbar-item has-dropdown is-hoverable">
+          <a class="navbar-link" href="#">Resources</a>
+          <div class="navbar-dropdown">
+            <a class="navbar-item" 
href="https://solr.apache.org/docs/9_8_0/index.html"; target="_blank" 
rel="noreferrer nopener">Solr Javadocs</a>
+            <a class="navbar-item" 
href="https://solr.apache.org/community.html#version-control"; target="_blank" 
rel="noreferrer nopener">Source Code</a>
+            <a class="navbar-item" 
href="https://solr.apache.org/community.html"; target="_blank" rel="noreferrer 
nopener">Community Links</a>
+            <a class="navbar-item" 
href="https://github.com/apache/solr/tree/main/dev-docs/ref-guide"; 
target="_blank" rel="noreferrer nopener">Contribute</a>
+          </div>
+        </div>
+        <div class="navbar-item">
+          <span class="control">
+            <a class="button is-primary" 
href="https://solr.apache.org/downloads.html"; target="_blank" rel="noreferrer 
nopener">Download</a>
+          </span>
+        </div>
+        <!-- Solr Changes - End -->
+      </div>
+    </div>
+  </nav>
+</header>
+<div class="body">
+<div class="nav-container" data-component="solr" data-version="9_8">
+  <aside class="nav">
+    <div class="panels">
+<!-- Solr Changes - Start -->
+<div class="nav-panel-explore" data-panel="explore">
+  <div class="context">
+    <span class="title">Solr Reference Guide</span>
+    <span class="version">9.8-beta</span>
+  </div>
+<!-- Programmatically creates the component and version list -->
+  <ul class="components">
+    <li class="component is-current">
+      <a class="title" href="../../latest/index.html">Solr Reference Guide</a>
+      <ul class="versions">
+        <li class="version is-current">
+          <a href="../index.html">9.8-beta</a>
+        </li>
+        <li class="version is-latest">
+          <a href="../../latest/index.html">9.7</a>
+        </li>
+        <li class="version">
+          <a href="../../9_6/index.html">9.6</a>
+        </li>
+        <li class="version">
+          <a href="../../9_5/index.html">9.5</a>
+        </li>
+        <li class="version">
+          <a href="../../9_4/index.html">9.4</a>
+        </li>
+        <li class="version">
+          <a href="../../9_3/index.html">9.3</a>
+        </li>
+        <li class="version">
+          <a href="../../9_2/index.html">9.2</a>
+        </li>
+        <li class="version">
+          <a href="../../9_1/index.html">9.1</a>
+        </li>
+        <li class="version">
+          <a href="../../9_0/index.html">9.0</a>
+        </li>
+      </ul>
+    </li>
+  </ul>
+
+  <!-- Solr Additions - Start -->
+  <!-- A hard-coded list of older Ref Guides, pre-Antora -->
+  <ul class="components">
+    <li class="component"> <a class="title" 
href="https://solr.apache.org/guide";>Pre-9.0 Reference Guides</a>
+    <ul class="versions">
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_11";>8.11</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_10";>8.10</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_9";>8.9</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_8";>8.8</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_7";>8.7</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_6";>8.6</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_5";>8.5</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_4";>8.4</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_3";>8.3</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_2";>8.2</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_1";>8.1</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/8_0";>8.0</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/7_7";>7.7</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/7_6";>7.6</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/7_5";>7.5</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/7_4";>7.4</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/7_3";>7.3</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/7_2";>7.2</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/7_1";>7.1</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/7_0";>7.0</a>
+      </li>
+      <li class="version">
+        <a href="https://solr.apache.org/guide/6_6";>6.6</a>
+      </li>
+      <li class="version">
+        <a 
href="http://archive.apache.org/dist/lucene/solr/ref-guide/";>Older</a>
+      </li>
+    </ul>
+  </li>
+  <!-- Solr Additions - End -->
+  </ul>
+</div>
+
+<div class="nav-panel-menu is-active" data-panel="menu">
+  <nav class="nav-menu">
+    <!-- Solr Removals - Start
+    <h3 class="title"><a href="../index.html">Solr Reference Guide</a></h3>
+         Solr Removals - End -->
+<ul class="nav-list">
+  <li class="nav-item" data-depth="0">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Getting Started</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" 
href="../getting-started/introduction.html">Introduction to Solr</a>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Solr Concepts</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../getting-started/documents-fields-schema-design.html">Documents, 
Fields, and Schema Design</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../getting-started/solr-indexing.html">Solr 
Indexing</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../getting-started/searching-in-solr.html">Searching in Solr</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../getting-started/relevance.html">Relevance</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../getting-started/solr-glossary.html">Solr 
Glossary</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="../getting-started/solr-tutorial.html">Solr 
Tutorials</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../getting-started/tutorial-five-minutes.html">Exercise 0: Five Minutes 
to Searching!</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../getting-started/tutorial-techproducts.html">Exercise 1: Index 
Techproducts Data</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../getting-started/tutorial-films.html">Exercise 
2: Index Films Data</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../getting-started/tutorial-diy.html">Exercise 
3: Index Your Own Data</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../getting-started/tutorial-paramsets.html">Exercise 4: Using 
ParamSets</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../getting-started/tutorial-vectors.html">Exercise 5: Using Vectors</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../getting-started/tutorial-solrcloud.html">Getting Started with 
SolrCloud</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../getting-started/tutorial-aws.html">SolrCloud 
on AWS EC2</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="../getting-started/solr-admin-ui.html">Solr 
Admin UI</a>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="../getting-started/about-this-guide.html">About 
This Guide</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="0">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Deployment Guide</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" 
href="../deployment-guide/solr-control-script-reference.html">Solr Control 
Script Reference</a>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Installation &amp; Deployment</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/system-requirements.html">System Requirements</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/installing-solr.html">Installing Solr</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/taking-solr-to-production.html">Taking Solr to 
Production</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/jvm-settings.html">JVM 
Settings</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/upgrading-a-solr-cluster.html">Upgrading a Solr 
Cluster</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/backup-restore.html">Backup 
and Restore</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="../deployment-guide/solr-in-docker.html">Solr in 
Docker</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="../deployment-guide/docker-faq.html">Solr Docker 
FAQ</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/solr-on-hdfs.html">Solr on 
HDFS</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Scaling Solr</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/cluster-types.html">Solr 
Cluster Types</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">SolrCloud Clusters</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/solrcloud-shards-indexing.html">SolrCloud Shards and 
Indexing</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/solrcloud-recoveries-and-write-tolerance.html">SolrCloud
 Recoveries and Write Tolerance</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/solrcloud-distributed-requests.html">SolrCloud 
Distributed Requests</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="../deployment-guide/node-roles.html">Node 
Roles</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="../deployment-guide/aliases.html">Aliases</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Collections API</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" 
href="../deployment-guide/cluster-node-management.html">Cluster and Node 
Management Commands</a>
+  </li>
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" 
href="../deployment-guide/collection-management.html">Collection Management 
Commands</a>
+  </li>
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" href="../deployment-guide/shard-management.html">Shard 
Management Commands</a>
+  </li>
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" 
href="../deployment-guide/replica-management.html">Replica Management 
Commands</a>
+  </li>
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" href="../deployment-guide/alias-management.html">Alias 
Management</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">ZooKeeper Configuration</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" 
href="../deployment-guide/zookeeper-ensemble.html">ZooKeeper Ensemble 
Configuration</a>
+  </li>
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" 
href="../deployment-guide/zookeeper-file-management.html">ZooKeeper File 
Management</a>
+  </li>
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" 
href="../deployment-guide/zookeeper-utilities.html">ZooKeeper Utilities</a>
+  </li>
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" 
href="../deployment-guide/solrcloud-with-legacy-configuration-files.html">SolrCloud
 with Legacy Configuration Files</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Admin UI</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" 
href="../deployment-guide/collections-core-admin.html">Collections / Core 
Admin</a>
+  </li>
+  <li class="nav-item" data-depth="4">
+    <a class="nav-link" href="../deployment-guide/cloud-screens.html">Cloud 
Screens</a>
+  </li>
+</ul>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">User-Managed Clusters</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/user-managed-index-replication.html">User-Managed 
Index Replication Index Replication</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/user-managed-distributed-search.html">User-Managed 
Distributed Search</a>
+  </li>
+</ul>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Monitoring Solr</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/configuring-logging.html">Configuring Logging</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/ping.html">Ping</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/metrics-reporting.html">Metrics Reporting</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/performance-statistics-reference.html">Performance 
Statistics Reference</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/plugins-stats-screen.html">Plugins &amp; Stats 
Screen</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/mbean-request-handler.html">MBean Request Handler</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/monitoring-with-prometheus-and-grafana.html">Monitoring
 with Prometheus and Grafana</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/jmx-with-solr.html">JMX with 
Solr</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/thread-dump.html">Thread 
Dump Screen</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/distributed-tracing.html">Distributed Tracing</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/circuit-breakers.html">Circuit Breakers</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/rate-limiters.html">Request 
Rate Limiters</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/task-management.html">Task 
Management</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="../deployment-guide/securing-solr.html">Securing 
Solr</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" 
href="../deployment-guide/authentication-and-authorization-plugins.html">Configuring
 Authentication and Authorization</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/basic-authentication-plugin.html">Basic 
Authentication Plugin</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/kerberos-authentication-plugin.html">Kerberos 
Authentication Plugin</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/jwt-authentication-plugin.html">JWT Authentication 
Plugin</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/cert-authentication-plugin.html">Certificate 
Authentication Plugin</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/hadoop-authentication-plugin.html">Hadoop 
Authentication Plugin</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../deployment-guide/rule-based-authorization-plugin.html">Rule-Based 
Authorization Plugins</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/audit-logging.html">Audit 
Logging</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/enabling-ssl.html">Enabling 
SSL</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/zookeeper-access-control.html">ZooKeeper Access 
Control</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/security-ui.html">Security 
UI</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="../deployment-guide/client-apis.html">Client 
APIs</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/solrj.html">SolrJ</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../deployment-guide/javascript.html">JavaScript</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/python.html">Python</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../deployment-guide/ruby.html">Ruby</a>
+  </li>
+</ul>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="0">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Configuration Guide</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" 
href="../configuration-guide/configuration-files.html">Solr Configuration 
Files</a>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" 
href="../configuration-guide/property-substitution.html">Property Substitution 
in Configuration Files</a>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="../configuration-guide/core-discovery.html">Core 
Discovery</a>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" 
href="../configuration-guide/configuring-solr-xml.html">Configuring solr.xml</a>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" 
href="../configuration-guide/configuring-solrconfig-xml.html">Configuring 
solrconfig.xml</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/index-location-format.html">Index Location and 
Format</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/index-segments-merging.html">Index Segments and 
Merging</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/schema-factory.html">Schema Factory 
Configuration</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/commits-transaction-logs.html">Commits and 
Transaction Logs</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/caches-warming.html">Caches and Query Warming</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/requesthandlers-searchcomponents.html">Request 
Handlers and Search Components</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/implicit-requesthandlers.html">Implicit Request 
Handlers</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/realtime-get.html">RealTime Get</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/initparams.html">InitParams</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/requestdispatcher.html">RequestDispatcher</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/update-request-processors.html">Update Request 
Processors</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/script-update-processor.html">Script Update 
Processor</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../configuration-guide/codec-factory.html">Codec 
Factory</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Configuration APIs</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../configuration-guide/config-api.html">Config 
API</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/request-parameters-api.html">Request Parameters 
API</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/managed-resources.html">Managed Resources</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/collections-api.html">Collections API</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/configsets-api.html">Configsets API</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/coreadmin-api.html">CoreAdmin API</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../configuration-guide/v2-api.html">v2 API</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" 
href="../configuration-guide/config-sets.html">Configsets</a>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" 
href="../configuration-guide/resource-loading.html">Resource Loading</a>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="../configuration-guide/solr-plugins.html">Solr 
Plugins</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../configuration-guide/libs.html">Lib 
Directories and Directives</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../configuration-guide/solr-modules.html">Solr 
Modules</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" 
href="../configuration-guide/package-manager.html">Package Management</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../configuration-guide/package-manager-internals.html">Package Manager 
Internals</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/cluster-plugins.html">Cluster Plugins</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../configuration-guide/replica-placement-plugins.html">Replica Placement 
Plugins</a>
+  </li>
+</ul>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="0">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Schema and Indexing Guide</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Solr Schema</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/schema-elements.html">Schema 
Elements</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/schema-api.html">Schema API</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/schemaless-mode.html">Schemaless Mode</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/schema-designer.html">Schema 
Designer</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/schema-browser-screen.html">Schema Browser Screen</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Fields &amp; Schema Design</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/fields.html">Fields</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Field Types</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../indexing-guide/field-type-definitions-and-properties.html">Field Type 
Definitions and Properties</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../indexing-guide/field-types-included-with-solr.html">Field Types 
Included with Solr</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../indexing-guide/currencies-exchange-rates.html">Currencies and Exchange 
Rates</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../indexing-guide/date-formatting-math.html">Date Formatting and Date 
Math</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="../indexing-guide/enum-fields.html">Enum 
Fields</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../indexing-guide/external-files-processes.html">External Files and 
Processes</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../indexing-guide/field-properties-by-use-case.html">Field Properties by 
Use Case</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/copy-fields.html">Copy 
Fields</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/dynamic-fields.html">Dynamic 
Fields</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/docvalues.html">DocValues</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/luke-request-handler.html">Luke Request Handler</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" 
href="../indexing-guide/document-analysis.html">Document Analysis in Solr</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/analyzers.html">Analyzers</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/tokenizers.html">Tokenizers</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/filters.html">Filters</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/charfilters.html">CharFilters</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/language-analysis.html">Language Analysis</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/phonetic-matching.html">Phonetic Matching</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/analysis-screen.html">Analysis 
Screen</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Indexing &amp; Data Operations</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" 
href="../indexing-guide/indexing-with-update-handlers.html">Indexing with 
Update Handlers</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" 
href="../indexing-guide/transforming-and-indexing-custom-json.html">Transforming
 and Indexing Custom JSON</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/indexing-with-cbor.html">Indexing with Update CBOR data 
format</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/indexing-with-tika.html">Indexing with Solr Cell and 
Apache Tika</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/indexing-nested-documents.html">Indexing Nested 
Documents</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/post-tool.html">Post Tool</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/documents-screen.html">Documents Screen</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/partial-document-updates.html">Partial Document 
Updates</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/reindexing.html">Reindexing</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/language-detection.html">Language Detection</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../indexing-guide/de-duplication.html">De-Duplication</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="../indexing-guide/content-streams.html">Content 
Streams</a>
+  </li>
+</ul>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="0">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Query Guide</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="query-syntax-and-parsers.html">Query Syntax and 
Parsers</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="common-query-parameters.html">Common Query 
Parameters</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="standard-query-parser.html">Standard Query 
Parser</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="dismax-query-parser.html">DisMax Query Parser</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="edismax-query-parser.html">Extended DisMax 
(eDisMax) Query Parser</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="function-queries.html">Function Queries</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="local-params.html">Local Params</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="json-request-api.html">JSON Request API</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="json-query-dsl.html">JSON Query DSL</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="searching-nested-documents.html">Searching 
Nested Child Documents</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="block-join-query-parser.html">Block Join Query 
Parser</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="join-query-parser.html">Join Query Parser</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="spatial-search.html">Spatial Search</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="dense-vector-search.html">Dense Vector Search</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="other-parsers.html">Other Query Parsers</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="sql-query.html">SQL Query Language</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="jdbc-dbvisualizer.html">JDBC with 
DbVisualizer</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="jdbc-squirrel.html">JDBC with SQuirreL SQL</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="jdbc-zeppelin.html">JDBC with Apache Zeppelin</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="jdbc-python-jython.html">JDBC with 
Python/Jython</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="jdbc-r.html">JDBC with R</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="query-screen.html">Query Screen</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="sql-screen.html">SQL Query Screen</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Enhancing Queries</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="spell-checking.html">Spell Checking</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="suggester.html">Suggester</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="morelikethis.html">MoreLikeThis</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="query-re-ranking.html">Query Re-Ranking</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="learning-to-rank.html">Learning To Rank</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="tagger-handler.html">Tagger Handler</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="analytics.html">Analytics Component</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="analytics-expression-sources.html">Analytics 
Expression Sources</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="analytics-mapping-functions.html">Analytics 
Mapping Functions</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="analytics-reduction-functions.html">Analytics 
Reduction Functions</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="terms-component.html">Terms Component</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="term-vector-component.html">Term Vector 
Component</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="stats-component.html">Stats Component</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <span class="nav-text">Controlling Results</span>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="faceting.html">Faceting</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="json-facet-api.html">JSON Facet API</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="json-faceting-domain-changes.html">JSON Faceting 
Domain Changes</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="collapse-and-expand-results.html">Collapse and 
Expand Results</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="result-grouping.html">Result Grouping</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="result-clustering.html">Result Clustering</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="highlighting.html">Highlighting</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="query-elevation-component.html">Query Elevation 
Component</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="document-transformers.html">Document 
Transformers</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="response-writers.html">Response Writers</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="exporting-result-sets.html">Exporting Result 
Sets</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="pagination-of-results.html">Pagination of 
Results</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="streaming-expressions.html">Streaming 
Expressions</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="stream-source-reference.html">Stream Source 
Reference</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="stream-decorator-reference.html">Stream 
Decorator Reference</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="stream-evaluator-reference.html">Stream 
Evaluator Reference</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="math-expressions.html">Streaming Expressions and 
Math Expressions</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="visualization.html">Visualization</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="math-start.html">Getting Started</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="loading.html">Loading Data</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="search-sample.html">Searching, Sampling and 
Aggregation</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="transform.html">Transforming Data</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="scalar-math.html">Scalar Math</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="vector-math.html">Vector Math</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="variables.html">Variables</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="matrix-math.html">Matrices and Matrix Math</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="term-vectors.html">Text Analysis and Term 
Vectors</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="probability-distributions.html">Probability 
Distributions</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="statistics.html">Statistics</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="regression.html">Linear Regression</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="curve-fitting.html">Curve Fitting</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="time-series.html">Time Series</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="numerical-analysis.html">Interpolation, 
Derivatives and Integrals</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="dsp.html">Digital Signal Processing</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="simulations.html">Monte Carlo Simulations</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="machine-learning.html">Machine Learning</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="graph.html">Graph</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="computational-geometry.html">Computational 
Geometry</a>
+  </li>
+  <li class="nav-item" data-depth="3">
+    <a class="nav-link" href="logs.html">Log Analytics</a>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="graph-traversal.html">Graph Traversal</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="stream-api.html">Stream Request Handler API</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" href="stream-screen.html">Stream Screen</a>
+  </li>
+</ul>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="0">
+<ul class="nav-list">
+  <li class="nav-item" data-depth="1">
+    <button class="nav-item-toggle"></button>
+    <a class="nav-link" href="../upgrade-notes/solr-upgrade-notes.html">Solr 
Upgrade Notes</a>
+<ul class="nav-list">
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../upgrade-notes/major-changes-in-solr-9.html">Major Changes in Solr 9</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../upgrade-notes/major-changes-in-solr-8.html">Major Changes in Solr 8</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../upgrade-notes/major-changes-in-solr-7.html">Major Changes in Solr 7</a>
+  </li>
+  <li class="nav-item" data-depth="2">
+    <a class="nav-link" 
href="../upgrade-notes/major-changes-in-solr-6.html">Major Changes in Solr 6</a>
+  </li>
+</ul>
+  </li>
+</ul>
+  </li>
+  <li class="nav-item" data-depth="0">
+<ul class="nav-list">
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="../how-to-contribute/how-to-contribute.html">How 
To Contribute</a>
+  </li>
+</ul>
+  </li>
+</ul>
+  </nav>
+</div>
+<!-- Solr Changes - End -->
+    </div>
+  </aside>
+</div>
+<main class="article">
+<div class="toolbar" role="navigation">
+<button class="nav-toggle"></button>
+  <a href="../../latest/index.html" class="home-link"></a>
+<nav class="breadcrumbs" aria-label="breadcrumbs">
+  <ul>
+    <li><a href="../index.html">Solr Reference Guide</a></li>
+    <li><a href="text-to-vector.html">Text to Vector</a></li>
+  </ul>
+</nav>
+<div class="page-versions">
+  <button class="version-menu-toggle" title="Show other versions of 
page">9.8-beta</button>
+  <div class="version-menu">
+    <a class="version is-current" href="text-to-vector.html">9.8-beta</a>
+    <a class="version is-missing" href="../../latest/index.html">9.7</a>
+    <a class="version is-missing" href="../../9_6/index.html">9.6</a>
+    <a class="version is-missing" href="../../9_5/index.html">9.5</a>
+    <a class="version is-missing" href="../../9_4/index.html">9.4</a>
+    <a class="version is-missing" href="../../9_3/index.html">9.3</a>
+    <a class="version is-missing" href="../../9_2/index.html">9.2</a>
+    <a class="version is-missing" href="../../9_1/index.html">9.1</a>
+    <a class="version is-missing" href="../../9_0/index.html">9.0</a>
+  </div>
+</div>
+<!-- Solr Additions - Start -->
+<!-- Solr New File -->
+<span class="perma-link-copy" version="9_8">
+</span><!-- Solr Additions - End -->
+  <div class="edit-this-page"><a 
href="https://github.com/apache/solr/tree/main/solr/solr-ref-guide/modules/query-guide/pages/text-to-vector.adoc";>Edit
 this Page</a></div>
+  </div>
+  <div class="content">
+<!-- Solr Changes - Start -->
+<nav class="toc sidebar" data-title="On This Page" data-levels="2">
+  <div class="toc-menu"></div>
+</nav>
+<!-- Solr Changes - End --><article class="doc">
+<h1 class="page">Text to Vector</h1>
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>This module brings the power of <strong>Large Language Models</strong> 
(*LLM*s) to Solr.  More specifically, it provides a text-to-vector capability, 
used on documents or queries, via integrating with popular external services 
that do this.  The state-of-the-art of such services use an LLM, hence the name 
of this module.
+<em>Without</em> this module, vectors must be supplied <em>to</em> Solr for 
indexing &amp; searching, possibly coordinating with such services.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="main-concepts"><a class="anchor" href="#main-concepts"></a>Main 
Concepts</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="from-text-to-vector"><a class="anchor" 
href="#from-text-to-vector"></a>From Text to Vector</h3>
+<div class="paragraph">
+<p>The aim of encoding text to numerical vectors is to represent text in a way 
that semantically similar sentences are encoded to vectors close in a vector 
space.
+Vector distance metrics (algorithms) can then be used to compute a pairwise 
similarity, producing a score.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="large-language-models"><a class="anchor" 
href="#large-language-models"></a>Large Language Models</h3>
+<div class="paragraph">
+<p>Specific Large Language Models are able to encode text to a numerical 
vector.</p>
+</div>
+<div class="paragraph">
+<p>For additional information you can refer to this <a 
href="https://sease.io/2021/12/using-bert-to-improve-search-relevance.html";>blog
 post</a>.</p>
+</div>
+<div class="sect3">
+<h4 id="text-to-vector-online-services"><a class="anchor" 
href="#text-to-vector-online-services"></a>Text to Vector Online Services</h4>
+<div class="paragraph">
+<p>Training, fine-tuning and operating such Large Language Models is 
expensive.</p>
+</div>
+<div class="paragraph">
+<p>Many companies focus on this aspect and let users access APIs to encode the 
text (at the price of a license fee).</p>
+</div>
+<div class="paragraph">
+<p>Apache Solr uses <a 
href="https://github.com/langchain4j/langchain4j";>LangChain4j</a> to connect to 
such apis.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>This module sends your documents and queries off to some hosted service on 
the internet.
+There are cost, privacy, performance, and service availability implications on 
such a strong dependency that should be diligently examined before employing 
this module in a serious way.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>At the moment a subset of the text vectorisation services supported by 
LangChain4j is supported by Solr.</p>
+</div>
+<div class="paragraph">
+<p><strong>Disclaimer</strong>: Apache Solr is <strong>in no way</strong> 
affiliated to any of these corporations or services.</p>
+</div>
+<div class="paragraph">
+<p>If you want to add support for additional services or improve the support 
for the existing ones, feel free to contribute:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a 
href="https://github.com/apache/solr/blob/main/CONTRIBUTING.md";>Contributing to 
Solr</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="module"><a class="anchor" href="#module"></a>Module</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This is provided via the <code>llm</code> <a 
href="../configuration-guide/solr-modules.html" class="xref page">Solr 
Module</a> that needs to be enabled before use.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="llm-configuration"><a class="anchor" href="#llm-configuration"></a>LLM 
Configuration</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>You need to register / configure the plugins provided by the LLM module 
that you want to use. This is done in <code>solrconfig.xml</code>.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Declaration of the <code>knn_text_to_vector</code> query parser.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-xml hljs" 
data-lang="xml">&lt;queryParser name="knn_text_to_vector" 
class="org.apache.solr.llm.texttovector.search.TextToVectorQParserPlugin"/&gt;</code></pre>
+</div>
+</div>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="text-to-vector-lifecycle"><a class="anchor" 
href="#text-to-vector-lifecycle"></a>Text to Vector Lifecycle</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="models"><a class="anchor" href="#models"></a>Models</h3>
+<div class="ulist">
+<ul>
+<li>
+<p>A model encodes text to a vector.</p>
+</li>
+<li>
+<p>A model in Solr is a reference to an external API that runs the Large 
Language Model responsible for text vectorisation.</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>the Solr vectorisation model specifies the parameters to access the APIs, 
the model doesn&#8217;t run internally in Solr</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>A model is described by these parameters:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1"><code>class</code></dt>
+<dd>
+<table class="tableblock frame-none grid-all fit-content">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><strong>Required</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Default: 
none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The model implementation.
+Accepted values:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>dev.langchain4j.model.huggingface.HuggingFaceEmbeddingModel</code>.</p>
+</li>
+<li>
+<p><code>dev.langchain4j.model.mistralai.MistralAiEmbeddingModel</code>.</p>
+</li>
+<li>
+<p><code>dev.langchain4j.model.openai.OpenAiEmbeddingModel</code>.</p>
+</li>
+<li>
+<p><code>dev.langchain4j.model.cohere.CohereEmbeddingModel</code>.</p>
+</li>
+</ul>
+</div>
+</dd>
+<dt class="hdlist1"><code>name</code></dt>
+<dd>
+<table class="tableblock frame-none grid-all fit-content">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock"><strong>Required</strong></p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Default: 
none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The identifier of your model, this is used by any component that intends to 
use the model (<code>knn_text_to_vector</code> query parser).</p>
+</div>
+</dd>
+<dt class="hdlist1"><code>params</code></dt>
+<dd>
+<table class="tableblock frame-none grid-all fit-content">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p 
class="tableblock">Optional</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Default: 
none</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Each model class has potentially different params.
+Many are shared but for the full set of parameters of the model you are 
interested in please refer to the official documentation of the LangChain4j 
version included in Solr: <a 
href="https://docs.langchain4j.dev/category/embedding-models";>Vectorisationm 
Models in LangChain4j</a>.</p>
+</div>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="supported-models"><a class="anchor" 
href="#supported-models"></a>Supported Models</h3>
+<div class="paragraph">
+<p>Apache Solr uses <a 
href="https://github.com/langchain4j/langchain4j";>LangChain4j</a> to support 
text vectorisation.
+The models currently supported are:</p>
+</div>
+<div id="supported-models" class="openblock tabs is-loading">
+<div class="content">
+<div class="ulist tablist">
+<ul>
+<li id="supported-models-hugging-face" class="tab">
+<p>Hugging Face</p>
+</li>
+<li id="supported-models-mistralai" class="tab">
+<p>MistralAI</p>
+</li>
+<li id="supported-models-openai" class="tab">
+<p>OpenAI</p>
+</li>
+<li id="supported-models-cohere" class="tab">
+<p>Cohere</p>
+</li>
+</ul>
+</div>
+<div id="supported-models-hugging-face--panel" class="tabpanel" 
aria-labelledby="supported-models-hugging-face">
+<div class="exampleblock">
+<div class="content">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-json hljs" 
data-lang="json">{
+  "class": "dev.langchain4j.model.huggingface.HuggingFaceEmbeddingModel",
+  "name": "&lt;a-name-for-your-model&gt;",
+  "params": {
+    "accessToken": "&lt;your-huggingface-api-key&gt;",
+    "modelId": "&lt;a-huggingface-vectorisation-model&gt;"
+  }
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="supported-models-mistralai--panel" class="tabpanel" 
aria-labelledby="supported-models-mistralai">
+<div class="exampleblock">
+<div class="content">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-json hljs" 
data-lang="json">{
+  "class": "dev.langchain4j.model.mistralai.MistralAiEmbeddingModel",
+  "name": "&lt;a-name-for-your-model&gt;",
+  "params": {
+    "baseUrl": "https://api.mistral.ai/v1";,
+    "apiKey": "&lt;your-mistralAI-api-key&gt;",
+    "modelName": "&lt;a-mistralAI-vectorisation-model&gt;",
+    "timeout": 60,
+    "logRequests": true,
+    "logResponses": true,
+    "maxRetries": 5
+  }
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="supported-models-openai--panel" class="tabpanel" 
aria-labelledby="supported-models-openai">
+<div class="exampleblock">
+<div class="content">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-json hljs" 
data-lang="json">{
+  "class": "dev.langchain4j.model.openai.OpenAiEmbeddingModel",
+  "name": "&lt;a-name-for-your-model&gt;",
+  "params": {
+    "baseUrl": "https://api.openai.com/v1";,
+    "apiKey": "&lt;your-openAI-api-key&gt;",
+    "modelName": "&lt;a-openAI-vectorisation-model&gt;",
+    "timeout": 60,
+    "logRequests": true,
+    "logResponses": true,
+    "maxRetries": 5
+  }
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="supported-models-cohere--panel" class="tabpanel" 
aria-labelledby="supported-models-cohere">
+<div class="exampleblock">
+<div class="content">
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-json hljs" 
data-lang="json">{
+  "class": "dev.langchain4j.model.cohere.CohereEmbeddingModel",
+  "name": "&lt;a-name-for-your-model&gt;",
+  "params": {
+    "baseUrl": "https://api.cohere.ai/v1/";,
+    "apiKey": "&lt;your-cohere-api-key&gt;",
+    "modelName": "&lt;a-cohere-vectorisation-model&gt;",
+    "inputType": "search_document",
+    "timeout": 60,
+    "logRequests": true,
+    "logResponses": true
+  }
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="uploading-a-model"><a class="anchor" 
href="#uploading-a-model"></a>Uploading a Model</h3>
+<div class="paragraph">
+<p>To upload the model in a <code>/path/myModel.json</code> file, please 
run:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-bash hljs" 
data-lang="bash">curl -XPUT 
'http://localhost:8983/solr/techproducts/schema/vectorisation-model-store' 
--data-binary "@/path/myModel.json" -H 
'Content-type:application/json'</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To view all models:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">http://localhost:8983/solr/techproducts/schema/vectorisation-model-store</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To delete the <code>currentModel</code> model:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-bash hljs" 
data-lang="bash">curl -XDELETE 
'http://localhost:8983/solr/techproducts/schema/vectorisation-model-store/currentModel'</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To view the model you just uploaded please open the following URL in a 
browser:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">http://localhost:8983/solr/techproducts/schema/vectorisation-model-store</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="title">Example: /path/myModel.json</div>
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-json hljs" 
data-lang="json">{
+  "class": "dev.langchain4j.model.openai.OpenAiEmbeddingModel",
+  "name": "openai-1",
+  "params": {
+    "baseUrl": "https://api.openai.com/v1";,
+    "apiKey": "apiKey-openAI",
+    "modelName": "text-embedding-3-small",
+    "timeout": 60,
+    "logRequests": true,
+    "logResponses": true,
+    "maxRetries": 5
+  }
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="running-a-text-to-vector-query"><a class="anchor" 
href="#running-a-text-to-vector-query"></a>Running a Text-to-Vector Query</h3>
+<div class="paragraph">
+<p>To run a query that embeds your query text, using a model you previously 
uploaded is simple:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-text hljs" 
data-lang="text">?q={!knn_text_to_vector model=a-model f=vector topK=10}hello 
world query</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The search results retrieved are the k=10 nearest documents to the vector 
encoded from the query <code>hello world query</code>, using the model 
<code>a-model</code>.</p>
+</div>
+<div class="paragraph">
+<p>For more details on how to work with vector search query parsers in Apache 
Solr, please refer to the dedicated page: <a href="dense-vector-search.html" 
class="xref page">Dense Vector Search</a></p>
+</div>
+</div>
+</div>
+</div>
+</article>
+  </div>
+</main>
+</div>
+<footer class="footer">
+  <!-- Solr Changes - Start -->
+  <p> &copy; Apache Software Foundation. All rights reserved.</p>
+  <script async src="../../../_/js/vendor/tabs.js"></script>
+  <!-- Solr Changes - End -->
+</footer>
+<script src="../../../_/js/site.js"></script>
+<script async src="../../../_/js/vendor/highlight.js"></script>
+<script src="../../../_/js/vendor/lunr.js"></script>
+<script src="../../../_/js/search-ui.js" id="search-ui-script" 
data-site-root-path="../../.." data-snippet-length="100" 
data-stylesheet="../../../_/css/search.css"></script>
+<script async src="../../../search-index.js"></script>
+  </body>
+</html>


Reply via email to