Files
doc-exports/docs/css/umn/css_01_0160.html
zhengxiu 93d856d5c5 css umn 25.6.0 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: zhengxiu <zhengxiu@huawei.com>
Co-committed-by: zhengxiu <zhengxiu@huawei.com>
2025-11-25 11:34:43 +00:00

456 lines
54 KiB
HTML

<a name="EN-US_TOPIC_0000001992205809"></a><a name="EN-US_TOPIC_0000001992205809"></a>
<h1 class="topictitle1">Sample Java Code for Vector Search</h1>
<div id="body0000001992205809"><p id="EN-US_TOPIC_0000001992205809__en-us_topic_0000001965416573_en-us_topic_0000001261749932_p143381112172510">OpenSearch provides standard REST APIs and clients developed using Java and Python.</p>
<p id="EN-US_TOPIC_0000001992205809__en-us_topic_0000001965416573_en-us_topic_0000001261749932_p1675193372415">This section provides a sample of Java code for creating vector indexes, and importing and querying vector data. It shows how to use the client to implement vector search.</p>
<div class="section" id="EN-US_TOPIC_0000001992205809__en-us_topic_0000001965416573_en-us_topic_0000001261749932_section1864223419264"><h4 class="sectiontitle">Prerequisites</h4><p id="EN-US_TOPIC_0000001992205809__en-us_topic_0000001965416573_en-us_topic_0000001261749932_p1299195810328">Add the following Maven dependency based on the actual cluster version. OpenSearch 1.3.6 is used in this example.</p>
<pre class="screen" id="EN-US_TOPIC_0000001992205809__en-us_topic_0000001965416573_en-us_topic_0000001261749932_screen1932333123212">// OpenSearch 2.19.0
&lt;dependency&gt;
&lt;groupId&gt;org.opensearch.client&lt;/groupId&gt;
&lt;artifactId&gt;opensearch-rest-high-level-client&lt;/artifactId&gt;
&lt;version&gt;2.19.0&lt;/version&gt;
&lt;/dependency&gt;
// OpenSearch 1.3.6
&lt;dependency&gt;
&lt;groupId&gt;org.opensearch.client&lt;/groupId&gt;
&lt;artifactId&gt;opensearch-rest-high-level-client&lt;/artifactId&gt;
&lt;version&gt;1.3.6&lt;/version&gt;
&lt;/dependency&gt;</pre>
</div>
<div class="section" id="EN-US_TOPIC_0000001992205809__en-us_topic_0000001965416573_en-us_topic_0000001261749932_section10885342132619"><h4 class="sectiontitle">Sample Code</h4><div class="codecoloring" codetype="Java" id="EN-US_TOPIC_0000001992205809__en-us_topic_0000001965416573_screen842883191417"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal"> 10</span>
<span class="normal"> 11</span>
<span class="normal"> 12</span>
<span class="normal"> 13</span>
<span class="normal"> 14</span>
<span class="normal"> 15</span>
<span class="normal"> 16</span>
<span class="normal"> 17</span>
<span class="normal"> 18</span>
<span class="normal"> 19</span>
<span class="normal"> 20</span>
<span class="normal"> 21</span>
<span class="normal"> 22</span>
<span class="normal"> 23</span>
<span class="normal"> 24</span>
<span class="normal"> 25</span>
<span class="normal"> 26</span>
<span class="normal"> 27</span>
<span class="normal"> 28</span>
<span class="normal"> 29</span>
<span class="normal"> 30</span>
<span class="normal"> 31</span>
<span class="normal"> 32</span>
<span class="normal"> 33</span>
<span class="normal"> 34</span>
<span class="normal"> 35</span>
<span class="normal"> 36</span>
<span class="normal"> 37</span>
<span class="normal"> 38</span>
<span class="normal"> 39</span>
<span class="normal"> 40</span>
<span class="normal"> 41</span>
<span class="normal"> 42</span>
<span class="normal"> 43</span>
<span class="normal"> 44</span>
<span class="normal"> 45</span>
<span class="normal"> 46</span>
<span class="normal"> 47</span>
<span class="normal"> 48</span>
<span class="normal"> 49</span>
<span class="normal"> 50</span>
<span class="normal"> 51</span>
<span class="normal"> 52</span>
<span class="normal"> 53</span>
<span class="normal"> 54</span>
<span class="normal"> 55</span>
<span class="normal"> 56</span>
<span class="normal"> 57</span>
<span class="normal"> 58</span>
<span class="normal"> 59</span>
<span class="normal"> 60</span>
<span class="normal"> 61</span>
<span class="normal"> 62</span>
<span class="normal"> 63</span>
<span class="normal"> 64</span>
<span class="normal"> 65</span>
<span class="normal"> 66</span>
<span class="normal"> 67</span>
<span class="normal"> 68</span>
<span class="normal"> 69</span>
<span class="normal"> 70</span>
<span class="normal"> 71</span>
<span class="normal"> 72</span>
<span class="normal"> 73</span>
<span class="normal"> 74</span>
<span class="normal"> 75</span>
<span class="normal"> 76</span>
<span class="normal"> 77</span>
<span class="normal"> 78</span>
<span class="normal"> 79</span>
<span class="normal"> 80</span>
<span class="normal"> 81</span>
<span class="normal"> 82</span>
<span class="normal"> 83</span>
<span class="normal"> 84</span>
<span class="normal"> 85</span>
<span class="normal"> 86</span>
<span class="normal"> 87</span>
<span class="normal"> 88</span>
<span class="normal"> 89</span>
<span class="normal"> 90</span>
<span class="normal"> 91</span>
<span class="normal"> 92</span>
<span class="normal"> 93</span>
<span class="normal"> 94</span>
<span class="normal"> 95</span>
<span class="normal"> 96</span>
<span class="normal"> 97</span>
<span class="normal"> 98</span>
<span class="normal"> 99</span>
<span class="normal">100</span>
<span class="normal">101</span>
<span class="normal">102</span>
<span class="normal">103</span>
<span class="normal">104</span>
<span class="normal">105</span>
<span class="normal">106</span>
<span class="normal">107</span>
<span class="normal">108</span>
<span class="normal">109</span>
<span class="normal">110</span>
<span class="normal">111</span>
<span class="normal">112</span>
<span class="normal">113</span>
<span class="normal">114</span>
<span class="normal">115</span>
<span class="normal">116</span>
<span class="normal">117</span>
<span class="normal">118</span>
<span class="normal">119</span>
<span class="normal">120</span>
<span class="normal">121</span>
<span class="normal">122</span>
<span class="normal">123</span>
<span class="normal">124</span>
<span class="normal">125</span>
<span class="normal">126</span>
<span class="normal">127</span>
<span class="normal">128</span>
<span class="normal">129</span>
<span class="normal">130</span>
<span class="normal">131</span>
<span class="normal">132</span>
<span class="normal">133</span>
<span class="normal">134</span>
<span class="normal">135</span>
<span class="normal">136</span>
<span class="normal">137</span>
<span class="normal">138</span>
<span class="normal">139</span>
<span class="normal">140</span>
<span class="normal">141</span>
<span class="normal">142</span>
<span class="normal">143</span>
<span class="normal">144</span>
<span class="normal">145</span>
<span class="normal">146</span>
<span class="normal">147</span>
<span class="normal">148</span>
<span class="normal">149</span>
<span class="normal">150</span>
<span class="normal">151</span>
<span class="normal">152</span>
<span class="normal">153</span>
<span class="normal">154</span>
<span class="normal">155</span>
<span class="normal">156</span>
<span class="normal">157</span>
<span class="normal">158</span>
<span class="normal">159</span>
<span class="normal">160</span>
<span class="normal">161</span>
<span class="normal">162</span>
<span class="normal">163</span>
<span class="normal">164</span>
<span class="normal">165</span>
<span class="normal">166</span>
<span class="normal">167</span>
<span class="normal">168</span>
<span class="normal">169</span>
<span class="normal">170</span>
<span class="normal">171</span>
<span class="normal">172</span>
<span class="normal">173</span>
<span class="normal">174</span>
<span class="normal">175</span>
<span class="normal">176</span>
<span class="normal">177</span>
<span class="normal">178</span>
<span class="normal">179</span>
<span class="normal">180</span>
<span class="normal">181</span>
<span class="normal">182</span>
<span class="normal">183</span>
<span class="normal">184</span>
<span class="normal">185</span>
<span class="normal">186</span>
<span class="normal">187</span>
<span class="normal">188</span>
<span class="normal">189</span>
<span class="normal">190</span>
<span class="normal">191</span>
<span class="normal">192</span>
<span class="normal">193</span>
<span class="normal">194</span>
<span class="normal">195</span>
<span class="normal">196</span>
<span class="normal">197</span>
<span class="normal">198</span>
<span class="normal">199</span>
<span class="normal">200</span>
<span class="normal">201</span>
<span class="normal">202</span>
<span class="normal">203</span>
<span class="normal">204</span>
<span class="normal">205</span>
<span class="normal">206</span>
<span class="normal">207</span>
<span class="normal">208</span>
<span class="normal">209</span>
<span class="normal">210</span>
<span class="normal">211</span>
<span class="normal">212</span>
<span class="normal">213</span></pre></div></td><td class="code"><div><pre><span></span><span class="kn">package</span><span class="w"> </span><span class="nn">org.example</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.http.HttpEntity</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.http.HttpHost</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.http.HttpStatus</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.http.auth.AuthScope</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.http.auth.UsernamePasswordCredentials</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.http.client.CredentialsProvider</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.http.conn.ssl.NoopHostnameVerifier</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.http.impl.client.BasicCredentialsProvider</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.apache.http.nio.conn.ssl.SSLIOSessionStrategy</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.action.admin.indices.delete.DeleteIndexRequest</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.action.admin.indices.refresh.RefreshRequest</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.action.bulk.BulkRequest</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.action.bulk.BulkResponse</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.action.index.IndexRequest</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.action.search.SearchResponse</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.action.support.master.AcknowledgedResponse</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.client.Request</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.client.RequestOptions</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.client.Response</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.client.RestClient</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.client.RestClientBuilder</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.client.RestHighLevelClient</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.client.indices.CreateIndexRequest</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.client.indices.CreateIndexResponse</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.common.settings.Settings</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.common.xcontent.DeprecationHandler</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.common.xcontent.NamedXContentRegistry</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.common.xcontent.XContentParser</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">org.opensearch.common.xcontent.XContentType</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">javax.net.ssl.SSLContext</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">javax.net.ssl.TrustManager</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">javax.net.ssl.X509TrustManager</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.io.IOException</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.security.KeyManagementException</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.security.NoSuchAlgorithmException</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.security.SecureRandom</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.security.cert.X509Certificate</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.util.Arrays</span><span class="p">;</span>
<span class="kn">import</span><span class="w"> </span><span class="nn">java.util.List</span><span class="p">;</span>
<span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">ClientExampleOS</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kd">private</span><span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">RestHighLevelClient</span><span class="w"> </span><span class="n">client</span><span class="p">;</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="nf">ClientExampleOS</span><span class="p">(</span><span class="n">RestHighLevelClient</span><span class="w"> </span><span class="n">client</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">this</span><span class="p">.</span><span class="na">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="c1">//Create a client for accessing non-security clusters.</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">RestHighLevelClient</span><span class="w"> </span><span class="nf">getClient</span><span class="p">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">hosts</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">port</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">scheme</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">HttpHost</span><span class="o">[]</span><span class="w"> </span><span class="n">httpHosts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">hosts</span><span class="p">.</span><span class="na">stream</span><span class="p">().</span><span class="na">map</span><span class="p">(</span><span class="n">p</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HttpHost</span><span class="p">(</span><span class="n">p</span><span class="p">,</span><span class="w"> </span><span class="n">port</span><span class="p">,</span><span class="w"> </span><span class="n">scheme</span><span class="p">)).</span><span class="na">toArray</span><span class="p">(</span><span class="n">HttpHost</span><span class="o">[]</span><span class="p">::</span><span class="k">new</span><span class="p">);</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">RestHighLevelClient</span><span class="p">(</span><span class="n">RestClient</span><span class="p">.</span><span class="na">builder</span><span class="p">(</span><span class="n">httpHosts</span><span class="p">));</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="c1">//Create a client for accessing security clusters.</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">RestHighLevelClient</span><span class="w"> </span><span class="nf">getClient</span><span class="p">(</span><span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span><span class="w"> </span><span class="n">hosts</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">port</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">scheme</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">password</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">CredentialsProvider</span><span class="w"> </span><span class="n">credentialsProvider</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">BasicCredentialsProvider</span><span class="p">();</span>
<span class="w"> </span><span class="n">credentialsProvider</span><span class="p">.</span><span class="na">setCredentials</span><span class="p">(</span><span class="n">AuthScope</span><span class="p">.</span><span class="na">ANY</span><span class="p">,</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">UsernamePasswordCredentials</span><span class="p">(</span><span class="n">user</span><span class="p">,</span><span class="w"> </span><span class="n">password</span><span class="p">));</span>
<span class="w"> </span><span class="n">SSLContext</span><span class="w"> </span><span class="n">sc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">null</span><span class="p">;</span>
<span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">sc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">SSLContext</span><span class="p">.</span><span class="na">getInstance</span><span class="p">(</span><span class="s">&quot;SSL&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="n">sc</span><span class="p">.</span><span class="na">init</span><span class="p">(</span><span class="kc">null</span><span class="p">,</span><span class="w"> </span><span class="n">trustAllCerts</span><span class="p">,</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">SecureRandom</span><span class="p">());</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">KeyManagementException</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">NoSuchAlgorithmException</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="na">printStackTrace</span><span class="p">();</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">HttpHost</span><span class="o">[]</span><span class="w"> </span><span class="n">httpHosts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">hosts</span><span class="p">.</span><span class="na">stream</span><span class="p">().</span><span class="na">map</span><span class="p">(</span><span class="n">p</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">HttpHost</span><span class="p">(</span><span class="n">p</span><span class="p">,</span><span class="w"> </span><span class="n">port</span><span class="p">,</span><span class="w"> </span><span class="n">scheme</span><span class="p">)).</span><span class="na">toArray</span><span class="p">(</span><span class="n">HttpHost</span><span class="o">[]</span><span class="p">::</span><span class="k">new</span><span class="p">);</span>
<span class="w"> </span><span class="kd">final</span><span class="w"> </span><span class="n">SSLIOSessionStrategy</span><span class="w"> </span><span class="n">sessionStrategy</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">SSLIOSessionStrategy</span><span class="p">(</span><span class="n">sc</span><span class="p">,</span><span class="w"> </span><span class="n">NoopHostnameVerifier</span><span class="p">.</span><span class="na">INSTANCE</span><span class="p">);</span>
<span class="w"> </span><span class="n">RestClientBuilder</span><span class="w"> </span><span class="n">builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">RestClient</span><span class="p">.</span><span class="na">builder</span><span class="p">(</span><span class="n">httpHosts</span><span class="p">).</span><span class="na">setHttpClientConfigCallback</span><span class="p">(</span><span class="n">httpClientBuilder</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">httpClientBuilder</span><span class="p">.</span><span class="na">disableAuthCaching</span><span class="p">();</span>
<span class="w"> </span><span class="n">httpClientBuilder</span><span class="p">.</span><span class="na">setSSLStrategy</span><span class="p">(</span><span class="n">sessionStrategy</span><span class="p">);</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">httpClientBuilder</span><span class="p">.</span><span class="na">setDefaultCredentialsProvider</span><span class="p">(</span><span class="n">credentialsProvider</span><span class="p">);</span>
<span class="w"> </span><span class="p">});</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">RestHighLevelClient</span><span class="p">(</span><span class="n">builder</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">TrustManager</span><span class="o">[]</span><span class="w"> </span><span class="n">trustAllCerts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">TrustManager</span><span class="o">[]</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">X509TrustManager</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nd">@Override</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">checkClientTrusted</span><span class="p">(</span><span class="n">X509Certificate</span><span class="o">[]</span><span class="w"> </span><span class="n">chain</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">authType</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="nd">@Override</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">checkServerTrusted</span><span class="p">(</span><span class="n">X509Certificate</span><span class="o">[]</span><span class="w"> </span><span class="n">chain</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">authType</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="nd">@Override</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="n">X509Certificate</span><span class="o">[]</span><span class="w"> </span><span class="nf">getAcceptedIssuers</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">null</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">};</span>
<span class="w"> </span><span class="err">#</span><span class="w"> </span><span class="n">Create</span><span class="w"> </span><span class="n">an</span><span class="w"> </span><span class="n">index</span><span class="p">.</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">create</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">index</span><span class="p">)</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">CreateIndexRequest</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">CreateIndexRequest</span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="w"> </span><span class="n">request</span><span class="p">.</span><span class="na">settings</span><span class="p">(</span><span class="n">Settings</span><span class="p">.</span><span class="na">builder</span><span class="p">()</span>
<span class="w"> </span><span class="p">.</span><span class="na">put</span><span class="p">(</span><span class="s">&quot;index.vector&quot;</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="p">)</span><span class="w"> </span><span class="c1">// Enable the vector feature.</span>
<span class="w"> </span><span class="p">.</span><span class="na">put</span><span class="p">(</span><span class="s">&quot;index.number_of_shards&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="c1">//Set the number of index shards as needed.</span>
<span class="w"> </span><span class="p">.</span><span class="na">put</span><span class="p">(</span><span class="s">&quot;index.number_of_replicas&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="c1">//Set the number of index replicas as needed.</span>
<span class="w"> </span><span class="p">);</span>
<span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">mapping</span><span class="w"> </span><span class="o">=</span>
<span class="w"> </span><span class="s">&quot;{&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; \&quot;properties\&quot;: {&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; \&quot;my_vector\&quot;: {&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; \&quot;type\&quot;: \&quot;vector\&quot;,&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="c1">// Set this field as the vector type.</span>
<span class="w"> </span><span class="s">&quot; \&quot;indexing\&quot;: \&quot;true\&quot;,&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="c1">// Enable index acceleration.</span>
<span class="w"> </span><span class="s">&quot; \&quot;dimension\&quot;: \&quot;2\&quot;,&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="c1">// Vector index</span>
<span class="w"> </span><span class="s">&quot; \&quot;metric\&quot;: \&quot;euclidean\&quot;,&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="c1">// Similarity metric</span>
<span class="w"> </span><span class="s">&quot; \&quot;algorithm\&quot;: \&quot;GRAPH\&quot;&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="c1">// Index algorithm</span>
<span class="w"> </span><span class="s">&quot; }&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; }&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot;}&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">request</span><span class="p">.</span><span class="na">mapping</span><span class="p">(</span><span class="n">mapping</span><span class="p">,</span><span class="w"> </span><span class="n">XContentType</span><span class="p">.</span><span class="na">JSON</span><span class="p">);</span>
<span class="w"> </span><span class="n">CreateIndexResponse</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">indices</span><span class="p">().</span><span class="na">create</span><span class="p">(</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="n">RequestOptions</span><span class="p">.</span><span class="na">DEFAULT</span><span class="p">);</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="na">isAcknowledged</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="s">&quot;create &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot; success&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="c1">// Write data. You are advised to keep the batch size under 500 vectors.</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">write</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">index</span><span class="p">,</span><span class="w"> </span><span class="n">List</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">[]&gt;</span><span class="w"> </span><span class="n">vectors</span><span class="p">)</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">BulkRequest</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">BulkRequest</span><span class="p">();</span>
<span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">float</span><span class="o">[]</span><span class="w"> </span><span class="n">vec</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="n">vectors</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">request</span><span class="p">.</span><span class="na">add</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">IndexRequest</span><span class="p">(</span><span class="n">index</span><span class="p">).</span><span class="na">source</span><span class="p">(</span><span class="s">&quot;my_vector&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">vec</span><span class="p">));</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="n">BulkResponse</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">bulk</span><span class="p">(</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="n">RequestOptions</span><span class="p">.</span><span class="na">DEFAULT</span><span class="p">);</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="na">hasFailures</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="na">buildFailureMessage</span><span class="p">());</span>
<span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="s">&quot;write bulk to &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot; success&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="c1">// Optional. Elasticsearch will refresh it by default.</span>
<span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">indices</span><span class="p">().</span><span class="na">refresh</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">RefreshRequest</span><span class="p">(</span><span class="n">index</span><span class="p">),</span><span class="w"> </span><span class="n">RequestOptions</span><span class="p">.</span><span class="na">DEFAULT</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="c1">// Query vectors.</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">search</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">index</span><span class="p">,</span><span class="w"> </span><span class="kt">float</span><span class="o">[]</span><span class="w"> </span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">size</span><span class="p">)</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">queryFormat</span><span class="w"> </span><span class="o">=</span>
<span class="w"> </span><span class="s">&quot;{\n&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; \&quot;size\&quot;:%d,\n&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; \&quot;query\&quot;: {\n&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; \&quot;vector\&quot;: {\n&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; \&quot;my_vector\&quot;: {\n&quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="c1">// Query the vector field name.</span>
<span class="w"> </span><span class="s">&quot; \&quot;vector\&quot;: %s,\n&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; \&quot;topk\&quot;:%d\n&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; }\n&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; }\n&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot; }\n&quot;</span><span class="w"> </span><span class="o">+</span>
<span class="w"> </span><span class="s">&quot;}&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">body</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">String</span><span class="p">.</span><span class="na">format</span><span class="p">(</span><span class="n">queryFormat</span><span class="p">,</span><span class="w"> </span><span class="n">size</span><span class="p">,</span><span class="w"> </span><span class="n">Arrays</span><span class="p">.</span><span class="na">toString</span><span class="p">(</span><span class="n">query</span><span class="p">),</span><span class="w"> </span><span class="n">size</span><span class="p">);</span>
<span class="w"> </span><span class="n">Request</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Request</span><span class="p">(</span><span class="s">&quot;POST&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot;/_search&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="n">request</span><span class="p">.</span><span class="na">setJsonEntity</span><span class="p">(</span><span class="n">body</span><span class="p">);</span>
<span class="w"> </span><span class="n">Response</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">getLowLevelClient</span><span class="p">().</span><span class="na">performRequest</span><span class="p">(</span><span class="n">request</span><span class="p">);</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="na">getStatusLine</span><span class="p">().</span><span class="na">getStatusCode</span><span class="p">()</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">HttpStatus</span><span class="p">.</span><span class="na">SC_OK</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="na">getEntity</span><span class="p">());</span><span class="w"> </span><span class="c1">//Handle the error based on service requirements.</span>
<span class="w"> </span><span class="k">return</span><span class="p">;</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="c1">// Process the normally returned result based on service requirements.</span>
<span class="w"> </span><span class="n">HttpEntity</span><span class="w"> </span><span class="n">entity</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">response</span><span class="p">.</span><span class="na">getEntity</span><span class="p">();</span>
<span class="w"> </span><span class="n">XContentType</span><span class="w"> </span><span class="n">xContentType</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">XContentType</span><span class="p">.</span><span class="na">fromMediaTypeOrFormat</span><span class="p">(</span><span class="s">&quot;application/json&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="n">XContentParser</span><span class="w"> </span><span class="n">parser</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">xContentType</span><span class="p">.</span><span class="na">xContent</span><span class="p">().</span><span class="na">createParser</span><span class="p">(</span><span class="n">NamedXContentRegistry</span><span class="p">.</span><span class="na">EMPTY</span><span class="p">,</span>
<span class="w"> </span><span class="n">DeprecationHandler</span><span class="p">.</span><span class="na">IGNORE_DEPRECATIONS</span><span class="p">,</span><span class="w"> </span><span class="n">entity</span><span class="p">.</span><span class="na">getContent</span><span class="p">());</span>
<span class="w"> </span><span class="n">SearchResponse</span><span class="w"> </span><span class="n">searchResponse</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">SearchResponse</span><span class="p">.</span><span class="na">fromXContent</span><span class="p">(</span><span class="n">parser</span><span class="p">);</span>
<span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="n">searchResponse</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="c1">// Delete an index.</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">delete</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">index</span><span class="p">)</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">DeleteIndexRequest</span><span class="w"> </span><span class="n">request</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">DeleteIndexRequest</span><span class="p">(</span><span class="n">index</span><span class="p">);</span>
<span class="w"> </span><span class="n">AcknowledgedResponse</span><span class="w"> </span><span class="n">response</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">indices</span><span class="p">().</span><span class="na">delete</span><span class="p">(</span><span class="n">request</span><span class="p">,</span><span class="w"> </span><span class="n">RequestOptions</span><span class="p">.</span><span class="na">DEFAULT</span><span class="p">);</span>
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="na">isAcknowledged</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="s">&quot;delete &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot; success&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">close</span><span class="p">()</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">client</span><span class="p">.</span><span class="na">close</span><span class="p">();</span>
<span class="w"> </span><span class="p">}</span>
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span><span class="w"> </span><span class="n">args</span><span class="p">)</span><span class="w"> </span><span class="kd">throws</span><span class="w"> </span><span class="n">IOException</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="c1">// For a non-security mode cluster, run the following:</span>
<span class="w"> </span><span class="n">RestHighLevelClient</span><span class="w"> </span><span class="n">client</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getClient</span><span class="p">(</span><span class="n">Arrays</span><span class="p">.</span><span class="na">asList</span><span class="p">(</span><span class="s">&quot;xx.xx.xx.xx&quot;</span><span class="p">),</span><span class="w"> </span><span class="mi">9200</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;http&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="cm">/*</span>
<span class="cm"> *For a security-mode cluster with HTTPS enabled, run the following:</span>
<span class="cm"> * RestHighLevelClient client = getClient(Arrays.asList(&quot;xx.xx.xx.xx&quot;, &quot;xx.xx.xx.xx&quot;), 9200, &quot;https&quot;, &quot;user_name&quot;, &quot;password&quot;);</span>
<span class="cm"> *For a security-mode cluster with HTTPS disabled, run the following:</span>
<span class="cm"> * RestHighLevelClient client = getClient(Arrays.asList(&quot;xx.xx.xx.xx&quot;, &quot;xx.xx.xx.xx&quot;), 9200, &quot;http&quot;, &quot;user_name&quot;, &quot;password&quot;);</span>
<span class="cm"> */</span>
<span class="w"> </span><span class="n">ClientExampleOS</span><span class="w"> </span><span class="n">example</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ClientExampleOS</span><span class="p">(</span><span class="n">client</span><span class="p">);</span>
<span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">indexName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;my_index&quot;</span><span class="p">;</span>
<span class="w"> </span><span class="c1">//Create an index.</span>
<span class="w"> </span><span class="n">example</span><span class="p">.</span><span class="na">create</span><span class="p">(</span><span class="n">indexName</span><span class="p">);</span>
<span class="w"> </span><span class="c1">//Write data.</span>
<span class="w"> </span><span class="n">List</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">[]&gt;</span><span class="w"> </span><span class="n">data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Arrays</span><span class="p">.</span><span class="na">asList</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="kt">float</span><span class="o">[]</span><span class="p">{</span><span class="mf">1.0f</span><span class="p">,</span><span class="w"> </span><span class="mf">1.0f</span><span class="p">},</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="kt">float</span><span class="o">[]</span><span class="p">{</span><span class="mf">2.0f</span><span class="p">,</span><span class="w"> </span><span class="mf">2.0f</span><span class="p">},</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="kt">float</span><span class="o">[]</span><span class="p">{</span><span class="mf">3.0f</span><span class="p">,</span><span class="w"> </span><span class="mf">3.0f</span><span class="p">});</span>
<span class="w"> </span><span class="n">example</span><span class="p">.</span><span class="na">write</span><span class="p">(</span><span class="n">indexName</span><span class="p">,</span><span class="w"> </span><span class="n">data</span><span class="p">);</span>
<span class="w"> </span><span class="c1">//Query an index.</span>
<span class="w"> </span><span class="kt">float</span><span class="o">[]</span><span class="w"> </span><span class="n">queryVector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="kt">float</span><span class="o">[]</span><span class="p">{</span><span class="mf">1.0f</span><span class="p">,</span><span class="w"> </span><span class="mf">1.0f</span><span class="p">};</span>
<span class="w"> </span><span class="n">example</span><span class="p">.</span><span class="na">search</span><span class="p">(</span><span class="n">indexName</span><span class="p">,</span><span class="w"> </span><span class="n">queryVector</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="w"> </span><span class="c1">//Delete an index.</span>
<span class="w"> </span><span class="n">example</span><span class="p">.</span><span class="na">delete</span><span class="p">(</span><span class="n">indexName</span><span class="p">);</span>
<span class="w"> </span><span class="c1">//Close the client.</span>
<span class="w"> </span><span class="n">example</span><span class="p">.</span><span class="na">close</span><span class="p">();</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div></td></tr></table></div>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="css_01_0101.html">Configuring Vector Search for OpenSearch Clusters</a></div>
</div>
</div>