How to run ElasticSearch queries with PHP and cURL example
In the realm of modern data handling, Elasticsearch has emerged as a powerhouse, offering rapid data search and analysis.
As a PHP developer, integrating this robust search engine into your projects can elevate your data operations to new heights. In this article, we'll illustrate a concise example of how to create an index, create a document, get a document, and search for documents using PHP's cURL library.
The following examples will empower you to efficiently store, retrieve, and manipulate data through Elasticsearch's RESTful API, all within the familiar PHP environment.
Symfony vs Laravel Performance Benchmark
I've decided to test the performance of two popular PHP frameworks - Laravel and Symfony. The results surprised me.
The performance test which I've conducted is quite simple. I've created two projects in Symfony and Laravel with only one page, no database queries, no API calls, and no complex calculations, just one simple page. Then I ran HTTP stress tests using a benchmarking tool against both setups and the results are surprising.
You can check both projects on my GitHub - Symfony / Laravel.
Symfony version: 5.4
Laravel version: 10.10
Did you know that Laravel uses a lot of Symfony components under the hood?
Symfony is known for making really good components used across the whole PHP ecosystem in numerous packages. Most of the Symfony components can be used as a standalone package without the need for Symfony itself, which is quite handy.
For example, the laravel/framework packages uses 11 Symfony components (at the time of writing this post), some of which are symfony/routing
, symfony/mailer
, symfony/http-foundation
etc.
Let's start with the fun part.
How to get all indices in ElasticSearch with curl command?
To get all indices in ElasticSearch with curl, you can use the following command:
$ curl localhost:9200/_cat/indices
which outputs
$ curl localhost:9200/_cat/indices
yellow open test-index-yoan 5ChC9F9ZSGSRmooDAIrd9A 1 1 0 0 208b 208b
yellow open my-index-000001 Be3surqXQzy8_EVW9k1VZA 1 1 0 0 208b 208b
mod_php vs php-fpm Performance Benchmark [Surprising Results]
Have you ever wondered if Apache mod-php
is faster than php-fpm
with Nginx? I surely did.
Each time this question arises, I do a quick research, and I cannot seem to find a definitive answer. It seems that the recommended way to run PHP websites nowadays is to use php-fpm
with Nginx, but is that the best method? Some articles state that php-fpm
is 300% faster than mod-php
, other articles state that mod-php
is faster, and so on.
This is why I've decided to conduct my own tests and performance benchmark and settle this debate once and for all.
The result surprised me.
How to install wrk on Ubuntu
To install wrk
on Ubuntu, you need to run:
sudo apt-get update
sudo apt-get install wrk
What is the difference between let and var in Javascript?
The difference between let
and var
is the scope in which the variables are available.
let
declares a block-scoped variable. They are accessible only within the block (enclosed by curly braces) in which they are defined.var
declares function scoped or globally-scoped variable. This means they are accessible throughout the entire function in which they are defined or globally if defined outside of any function.
But what does that mean? Let's look at the examples below to understand the differences better.
How to get parameter in Symfony controller
To get parameters in Symfony controller, you can bind a parameter to a variable and inject it into a controller or service.
How to list directory files in Symfony
To list files in a directory with Symfony, you can use the Finder Component - $finder->files()->in(__DIR__);
Let's look at the example below to understand better how the Finder component works.
How to fix Only attribute mapping is supported by make:entity error in Symfony
To fix the Only attribute mapping is supported by make:entity error
error in Symfony, you need to change your Doctrine Entity type in your config/packages/doctrine.yaml
from annotation
to attribute
.
How to use Symfony Query Builder where
In Symfony, the Doctrine Query Builder provides a convenient and object-oriented way to construct complex SQL queries. The where()
method is used within the Query Builder to add conditions to your queries. Here's how you can use it: