Node.js
Using with Node.js
Elasticsearch Node.js client is official client for Node.js.
A sample Node.js application can be found on GitHub https://github.com/searchly/searchly-nodejs-sample.
Configuration
Add elasticsearch dependency to your package.json
file and use npm
to install your dependencies
<span></span><span class="s2">"dependencies"</span><span class="o">:</span> <span class="p">{</span>
<span class="s2">"elasticsearch"</span><span class="o">:</span> <span class="s2">">=1.1.0"</span>
<span class="p">}</span>
Search
Create a search client:
<span></span><span class="kd">var</span> <span class="nx">elasticsearch</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="s1">'elasticsearch'</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">connectionstring</span> <span class="o">=</span> <span class="nx">process</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">searchbox_url</span><span class="p">;</span>
<span class="kd">var</span> <span class="nx">client</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">elasticsearch</span><span class="p">.</span><span class="nx">client</span><span class="p">({</span>
<span class="nx">host</span><span class="o">:</span> <span class="nx">connectionstring</span>
<span class="p">});</span>
Index a document
<span></span><span class="nx">client</span><span class="p">.</span><span class="nx">index</span><span class="p">({</span>
<span class="nx">index</span><span class="o">:</span> <span class="s1">'sample'</span><span class="p">,</span>
<span class="nx">type</span><span class="o">:</span> <span class="s1">'document'</span><span class="p">,</span>
<span class="nx">id</span><span class="o">:</span> <span class="s1">'1'</span><span class="p">,</span>
<span class="nx">body</span><span class="o">:</span> <span class="p">{</span>
<span class="nx">name</span><span class="o">:</span> <span class="s1">'reliability'</span><span class="p">,</span>
<span class="nx">text</span><span class="o">:</span> <span class="s1">'reliability is improved if multiple redundant sites are used, which makes well-designed cloud computing suitable for business continuity.'</span>
<span class="p">}</span>
<span class="p">},</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">error</span><span class="p">,</span> <span class="nx">response</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">response</span><span class="p">);</span>
<span class="p">});</span>
Create a query and search it
<span></span><span class="nx">client</span><span class="p">.</span><span class="nx">search</span><span class="p">({</span>
<span class="nx">index</span><span class="o">:</span> <span class="s1">'sample'</span><span class="p">,</span>
<span class="nx">type</span><span class="o">:</span> <span class="s1">'document'</span><span class="p">,</span>
<span class="nx">body</span><span class="o">:</span> <span class="p">{</span>
<span class="nx">query</span><span class="o">:</span> <span class="p">{</span>
<span class="nx">query_string</span><span class="o">:</span><span class="p">{</span>
<span class="nx">query</span><span class="o">:</span><span class="s2">"reliability"</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}).</span><span class="nx">then</span><span class="p">(</span><span class="kd">function</span> <span class="p">(</span><span class="nx">resp</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">resp</span><span class="p">);</span>
<span class="p">},</span> <span class="kd">function</span> <span class="p">(</span><span class="nx">err</span><span class="p">)</span> <span class="p">{</span>
<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">err</span><span class="p">.</span><span class="nx">message</span><span class="p">);</span>
<span class="p">});</span>
Detailed documentation for Nodejs client can be found here