{"id":3154,"date":"2024-03-13T06:28:32","date_gmt":"2024-03-13T06:28:32","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/"},"modified":"2025-07-30T11:43:39","modified_gmt":"2025-07-30T11:43:39","slug":"how-is-elasticsearch-used-in-php","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/","title":{"rendered":"Elasticsearch PHP Integration Guide"},"content":{"rendered":"<p>In PHP, it is typically necessary to use the official PHP client library provided by Elasticsearch when working with Elasticsearch. These libraries give PHP developers an interface to communicate with Elasticsearch clusters and perform various operations such as indexing documents and searching documents.<\/p>\n<p>Here is a simple example demonstrating how to communicate with an Elasticsearch cluster in PHP using the Elasticsearch client library.<\/p>\n<ol>\n<li>Install the Elasticsearch client library.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>composer require elasticsearch\/elasticsearch\r\n<\/code><\/pre>\n<ol>\n<li>Connect to the Elasticsearch cluster.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">require<\/span> <span class=\"hljs-string\">'vendor\/autoload.php'<\/span>;\r\n\r\n<span class=\"hljs-keyword\">use<\/span> <span class=\"hljs-title\">Elasticsearch<\/span>\\<span class=\"hljs-title\">ClientBuilder<\/span>;\r\n\r\n<span class=\"hljs-variable\">$hosts<\/span> = [\r\n    <span class=\"hljs-string\">'http:\/\/localhost:9200'<\/span>\r\n];\r\n\r\n<span class=\"hljs-variable\">$client<\/span> = <span class=\"hljs-title class_\">ClientBuilder<\/span>::<span class=\"hljs-title function_ invoke__\">create<\/span>()-&gt;<span class=\"hljs-title function_ invoke__\">setHosts<\/span>(<span class=\"hljs-variable\">$hosts<\/span>)-&gt;<span class=\"hljs-title function_ invoke__\">build<\/span>();\r\n<\/code><\/pre>\n<ol>\n<li>Index document:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-variable\">$params<\/span> = [\r\n    <span class=\"hljs-string\">'index'<\/span> =&gt; <span class=\"hljs-string\">'my_index'<\/span>,\r\n    <span class=\"hljs-string\">'type'<\/span> =&gt; <span class=\"hljs-string\">'my_type'<\/span>,\r\n    <span class=\"hljs-string\">'id'<\/span> =&gt; <span class=\"hljs-string\">'1'<\/span>,\r\n    <span class=\"hljs-string\">'body'<\/span> =&gt; [\r\n        <span class=\"hljs-string\">'title'<\/span> =&gt; <span class=\"hljs-string\">'Test Document'<\/span>,\r\n        <span class=\"hljs-string\">'content'<\/span> =&gt; <span class=\"hljs-string\">'This is a test document'<\/span>\r\n    ]\r\n];\r\n\r\n<span class=\"hljs-variable\">$response<\/span> = <span class=\"hljs-variable\">$client<\/span>-&gt;<span class=\"hljs-title function_ invoke__\">index<\/span>(<span class=\"hljs-variable\">$params<\/span>);\r\n<\/code><\/pre>\n<ol>\n<li>Search documents:<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-variable\">$params<\/span> = [\r\n    <span class=\"hljs-string\">'index'<\/span> =&gt; <span class=\"hljs-string\">'my_index'<\/span>,\r\n    <span class=\"hljs-string\">'type'<\/span> =&gt; <span class=\"hljs-string\">'my_type'<\/span>,\r\n    <span class=\"hljs-string\">'body'<\/span> =&gt; [\r\n        <span class=\"hljs-string\">'query'<\/span> =&gt; [\r\n            <span class=\"hljs-string\">'match'<\/span> =&gt; [\r\n                <span class=\"hljs-string\">'title'<\/span> =&gt; <span class=\"hljs-string\">'test'<\/span>\r\n            ]\r\n        ]\r\n    ]\r\n];\r\n\r\n<span class=\"hljs-variable\">$response<\/span> = <span class=\"hljs-variable\">$client<\/span>-&gt;<span class=\"hljs-title function_ invoke__\">search<\/span>(<span class=\"hljs-variable\">$params<\/span>);\r\n<\/code><\/pre>\n<p>This is just a simple example, you can perform other operations based on your needs and the configuration of your Elasticsearch cluster. For more information on using Elasticsearch in PHP, please refer to the official Elasticsearch documentation and the documentation of the PHP client library.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In PHP, it is typically necessary to use the official PHP client library provided by Elasticsearch when working with Elasticsearch. These libraries give PHP developers an interface to communicate with Elasticsearch clusters and perform various operations such as indexing documents and searching documents. Here is a simple example demonstrating how to communicate with an Elasticsearch [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[781,776,783,780,782],"class_list":["post-3154","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-elasticsearch-client","tag-elasticsearch-php","tag-elasticsearch-tutorial","tag-php-elasticsearch","tag-php-search-engine"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Elasticsearch PHP Integration Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn to integrate Elasticsearch with PHP using the official client. Step-by-step setup, indexing &amp; search examples included.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Elasticsearch PHP Integration Guide\" \/>\n<meta property=\"og:description\" content=\"Learn to integrate Elasticsearch with PHP using the official client. Step-by-step setup, indexing &amp; search examples included.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-13T06:28:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-30T11:43:39+00:00\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jackson Davis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"Elasticsearch PHP Integration Guide\",\"datePublished\":\"2024-03-13T06:28:32+00:00\",\"dateModified\":\"2025-07-30T11:43:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/\"},\"wordCount\":126,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Elasticsearch Client\",\"Elasticsearch PHP\",\"Elasticsearch Tutorial\",\"PHP Elasticsearch\",\"PHP Search Engine\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/\",\"name\":\"Elasticsearch PHP Integration Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-13T06:28:32+00:00\",\"dateModified\":\"2025-07-30T11:43:39+00:00\",\"description\":\"Learn to integrate Elasticsearch with PHP using the official client. Step-by-step setup, indexing & search examples included.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Elasticsearch PHP Integration Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Elasticsearch PHP Integration Guide - Blog - Silicon Cloud","description":"Learn to integrate Elasticsearch with PHP using the official client. Step-by-step setup, indexing & search examples included.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/","og_locale":"en_US","og_type":"article","og_title":"Elasticsearch PHP Integration Guide","og_description":"Learn to integrate Elasticsearch with PHP using the official client. Step-by-step setup, indexing & search examples included.","og_url":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-13T06:28:32+00:00","article_modified_time":"2025-07-30T11:43:39+00:00","author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"Elasticsearch PHP Integration Guide","datePublished":"2024-03-13T06:28:32+00:00","dateModified":"2025-07-30T11:43:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/"},"wordCount":126,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Elasticsearch Client","Elasticsearch PHP","Elasticsearch Tutorial","PHP Elasticsearch","PHP Search Engine"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/","url":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/","name":"Elasticsearch PHP Integration Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-13T06:28:32+00:00","dateModified":"2025-07-30T11:43:39+00:00","description":"Learn to integrate Elasticsearch with PHP using the official client. Step-by-step setup, indexing & search examples included.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-is-elasticsearch-used-in-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Elasticsearch PHP Integration Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=3154"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3154\/revisions"}],"predecessor-version":[{"id":147775,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3154\/revisions\/147775"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=3154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=3154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=3154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}