PHP
Using with PHP
A sample PHP application can be found on GitHub https://github.com/searchly/searchly-php-sample.
Installation
Documentation targets official PHP client for Elasticsearch
Add elasticsearch client dependency to your composer.json file and ;
<span class="pun">{</span><br><span class="pln"> </span><span class="str">"require"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><br><span class="pln"> </span><span class="str">"elasticsearch/elasticsearch"</span><span class="pun">:</span><span class="pln"> </span><span class="str">"~1.0"</span><br><span class="pln"> </span><span class="pun">}</span><br><span class="pun">}</span><br>
Update application dependencies with composer;
$ php composer.phar install<br>
Create Client
<span class="pln">$params</span><span class="pun">[</span><span class="str">'hosts'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> array </span><span class="pun">(</span><br><span class="str">'https://site:api-key@xyz.searchly.com:443'</span><br><span class="pun">);</span><br><span class="pln">$client </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Elasticsearch</span><span class="pln">\Client</span><span class="pun">(</span><span class="pln">$params</span><span class="pun">);</span><br>
Index Creation
<span class="pln">$indexParams</span><span class="pun">[</span><span class="str">'index'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'sample'</span><span class="pun">;</span><br><span class="pln">$client</span><span class="pun">-></span><span class="pln">indices</span><span class="pun">()-></span><span class="pln">create</span><span class="pun">(</span><span class="pln">$indexParams</span><span class="pun">);</span><br>
Search
Index a document;
<span class="pln">$document </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(</span><br><span class="pln"> name </span><span class="pun">=></span><span class="pln"> </span><span class="str">'Reliability'</span><span class="pun">,</span><br><span class="pln"> text </span><span class="pun">=></span><span class="pln"> </span><span class="str">'Reliability is improved if multiple redundant sites are used, which makes well-designed cloud computing suitable for business continuity.'</span><br><span class="pln"> </span><span class="pun">);</span><br><span class="pln">$params </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">();</span><br><span class="pln">$params</span><span class="pun">[</span><span class="str">'body'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $document</span><span class="pun">;</span><br><span class="pln">$params</span><span class="pun">[</span><span class="str">'index'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'sample'</span><span class="pun">;</span><br><span class="pln">$params</span><span class="pun">[</span><span class="str">'type'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'document'</span><span class="pun">;</span><br><span class="pln">$client</span><span class="pun">-></span><span class="pln">index</span><span class="pun">(</span><span class="pln">$params</span><span class="pun">);</span><br>
You can search indexed document as:
<span class="pln">$searchParams</span><span class="pun">[</span><span class="str">'body'</span><span class="pun">][</span><span class="str">'query'</span><span class="pun">][</span><span class="str">'match'</span><span class="pun">][</span><span class="str">'text'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Reliability'</span><span class="pun">;</span><br><span class="pln">$results </span><span class="pun">=</span><span class="pln"> $client</span><span class="pun">-></span><span class="pln">search</span><span class="pun">(</span><span class="pln">$searchParams</span><span class="pun">);</span><br>
Useful Resources
PHP client has very detailed documentation at official Elasticsearch site.