Download the PHP package spatie/searchindex without Composer
On this page you can find all versions of the php package spatie/searchindex. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download spatie/searchindex
More information about spatie/searchindex
Files in spatie/searchindex
Package searchindex
Short Description Store and retrieve objects from Elasticsearch or Algolia
License MIT
Homepage https://github.com/spatie/searchindex
Informations about the package searchindex
Store and retrieve objects from a search index
This is an opinionated Laravel 5.1 package to store and retrieve objects from a search index. Currently Elasticsearch and Algolia are supported.
Once the package is installed objects can be easily indexed and retrieved:
Spatie is a webdesign agency in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
Support us
Learn how to create a package like this one, by watching our premium video course:
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Postcardware
You're free to use this package (it's MIT-licensed), but if it makes it to your production environment you are required to send us a postcard from your hometown, mentioning which of our package(s) you are using.
Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.
The best postcards will get published on the open source page on our website.
Installation
This package can be installed through Composer.
You must install this service provider.
This package also comes with a facade, which provides an easy way to call the the class.
You can publish the config-file with:
The options in the config file are set with sane default values and they should be self-explanatory.
The next installation steps depend on if you want to use Elasticsearch or Algolia.
Elasticsearch
To use Elasticsearch you must install the official 1.x series low level client:
You also should have a server with Elasticsearch installed. If you want to install it on your local development machine you can use these instructions from the excellent Vaprobash repo.
Algolia
To use Algolia you must install the official low level client:
Usage
Prepare your object
Objects that you want to store in the index should implement the provided - interface.
Here is an example how you could implement it with an Eloquent model:
The searchindex will use the returned searchableType and searchableId to identify an object in the index.
Add an object to the index
If you are using the facade it couldn't be simpler.
Update an object in the index
You probably would have guessed it.
Remove an object from the index
Yep. Easy.
Alternatively you can remove an object from the index by passing type and id:
This can be handy when you've already deleted your model.
Clear the entire index
If only you could to this with your facebook account.
Perform a search on the index
You can retrieve search results with this method:
Elasticsearch
should be an array that adheres to the scheme provided by the elasticsearch documentation.
A query to perform a fuzzy like search that operates all fields of the index could look like this:
The search results that come back are simply elasticsearch response elements serialized into an array. You can see an example of a response in the official elasticsearch documentation.
Algolia
You can just pass a string to search the index:
To perform more advanced queries an array may be passed. Read the official documentation to learn what's possible.
All other operations
For all other operations you can get the underlying client:
Query helpers
If you're using Algolia you can use a SearchQuery
-object to perform searches.
Tests
This package comes with a set of unit tests. Every time the package gets updated Travis CI will automatically run them.
You can also run them manually. You'll have first run to install phpspec. After that's out of the way you can run the tests with .
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Freek Van der Herten
- All Contributors
About Spatie
Spatie is a webdesign agency in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.