Integrating Elasticsearch with PHP and Laravel will help you to achieve just what the title suggests. This video series will walk you through everything required to integrate Elasticsearch with your PHP / Laravel web application. The sections in the course will build from the ground up, starting with setting up your development environment all the way through creating a functional, searchable web application.
First you’ll set up your dev environment using Laravel Homestead, which provides a pre-packaged vagrant environment in which we’ll install Elasticsearch and set up our Laravel PHP application. Using this environment, we’ll start working through Elasticsearch basics, moving on to using two different Elasticsearch PHP clients before integrating Elasticsearch with our Laravel model using Laravel Scout.
This video series will not only leave you with the skills required to build a functional Elasticsearch integration in your PHP / Laravel web application, but will give you the knowledge required to extend this integration and solve real problems with real world applications.
About the Author
Kyle Nicodemus is a graduate of the Rochester Institute of Technology’s B. Thomas Golisano College of Computing and Information Sciences. Kyle has a strong background in Linux System Administration and Cloud Operations. He has worked in environments supporting both large and small scale web applications.
He currently works as a DevOps Engineer at Global Thinking in Alexandria, Virginia. In his current role he is responsible for the design and implementation of the cloud infrastructure behind two large web software products. He also works as a technical architect and backend developer for web applications applications, including one built using the Laravel framework with a custom Elasticsearch integration.
In this video, we will install and configure Laravel Homestead. In order to use Homestead, we will also need to install the required dependencies and configurations on our machine.
In this video, we will install Elasticsearch on our Homestead development machine, and development tools to access the Elasticsearch server. Finally, we will configure the server to use in our project.
In this video, we will create our new Laravel project and install all the required packages we will use in future videos.
In this video, we will go over some basic Elasticsearch concepts. We will cover some simple topics to provide a base for learning throughout the section.
In this video, you will learn to interact with our Elasticsearch server via the REST API using curl on the command line.
In this video, we will expand on our Elasticsearch knowledge to cover a few more advanced Elasticsearch concepts. This will give us a better idea of how Elasticsearch data is stored and how our queries will be executed.
In this video, we will explore the Elasticsearch Query DSL. This will involve looking at and exploring JSON for simple and advanced Elasticsearch queries, and figuring out why they operate the way they do.
In this video, we will configure the Elasticsearch PHP Client and the Elastica client that we installed in our setup. We will connect the clients to our Elastica server and make sure everything in our PHP code is functional.
In this video, we will configure the Elastica PHP Client and connect the client to our Elasticsearch server and make sure everything in our PHP code is functional. We willcompare the operation of the Elastica client to the Elasticsearch PHP client.
In this video will learn how to use the Elasticsearch PHP client to manage our Elasticsearch data structures. We will learn how to create a new type by defining its mappings, and we will add a single document to that type before bulk indexing some generated sample data.
In this video we will learn how to use the Elastica client to manage our Elasticsearch data structures. We will learn how to create a new type by defining its mappings, and we will add a single document to that type before bulk indexing some generated sample data. We will compare the operation to the Elasticsearch PHP client.
In this section we will write some code to perform simple queries using the Elasticsearch PHP client. We will write queries against the sample data we inserted. We will examine the results we get back from the server to see how the Elasticsearch PHP client operates.
In this section we will write some code to perform simple queries using the Elastica client. We will write queries against the sample data we inserted in the last section. In doing so we will compare and contrast the operation of Elastica and the Elasticsearch PHP client.
In this section we will write some advanced queries with the Elasticsearch PHP client. We will programmatically build some queries, as well as execute some aggregations in order to analyze the data stored in Elasticsearch.
In this section we will write some advanced queries with the Elastica client. We’ll programmatically build some queries, as well as execute some aggregations in order to analyze the data stored in Elasticsearch. We’ll further see how Elastica differs from the Elasticsearch PHP client.
In this video we will choose an open source driver to integrate Laravel Scout with our Elasticsearch server. We will install and configure the driver, getting our environment set up and ready to integrate Elasticsearch with Laravel models.
In this video we will create a new model for use with Laravel Scout. We will write the code to create the model, as well as the required database migrations to set up the MySQL table and a seeder to seed the table with sample data that will also be indexed in Elasticsearch.
In this video we will set up some routes that will be used to receive search terms from our view and display the results. We will then write code to perform different types of searches on our data indexed in Elasticsearch using functionality provided by Laravel Scout.
In this video we will examine the underlying code for the Laravel Scout driver that we used to integrate Elasticsearch into our Laravel application. We will see how queries are built, data is return, and how data is synchronized between MySQL and Elasticsearch.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.