Download the PHP package baka/elasticsearch without Composer
On this page you can find all versions of the php package baka/elasticsearch. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package elasticsearch
Baka Phalcon Elastic Search
Phalcon Elastic Search package to index / query model with relationship easily
Table of Contents
- Indexing
- Create
- Insert
- Search
- Testing
Installing
Packages:
"elasticsearch/elasticsearch": "~2.0@beta"
"baka/database": "dev-master"
"phalcon/incubator": "~3.0","
Add elastic configuration to config.php
add queue to DI
Indexing
To create a Index in Elastic search first you will need to configure a CLI project and extend it from IndexTasksBuilder
, after doing that just run the following command
php cli/app.php IndexBuilder createIndex ModelName 3
Where 4
is the normal of levels you want the relationships to index for example
We can ignore a relationship if we specify on the options 'elasticSearch' => false
I wont recommend going beyond 4 levels if it not neede, it will use a lot of space.
If you get a error related to nestedLimit
, you can use a 4th param to specify the amount the index limit
php cli/app.php IndexBuilder createIndex ModelName 3 100
Indexing Queue
Now that you created a Index we need to index the data, for that your model will need to extend from \Baka\Elasticsearch\Model
. After every update | save we will send the information to a queue where the process will insert or update the info in elastic
Queue
php cli/app.php IndexBuilder queue ModelName
Example:
php cli/app.php IndexBuilder queue Users
Search
In order to simply searching en elastic search with elastic you most install this extension https://github.com/NLPchina/elasticsearch-sql
Now your search controller must use our trait
And Follow the same query structure has Baka Http
https://api.dev/v1/search/indexName?sort=id|asc&q=(is_deleted:0,relationship.type_id:1)&fields=id,first_name,last_name,relationship.name,relationship.relationshipb.name
Example
https://api.dev/v1/search/users?sort=first_name|asc&q=(is_deleted:0,users_statuses_id:,first_name:,last_name:)&fields=id,first_name,last_name,potentiality,classification,userssprograms.id,events_satisfaction,is_prospect,gifts.name,is_key_users,dob,companies.name,companies.companiesstatuses.name,companies.rnc,position
Testing
All versions of elasticsearch with dependencies
ext-phalcon Version >=3.0.0
vlucas/phpdotenv Version ^2.0
phalcon/incubator Version ~3.3
monolog/monolog Version ^1.16
baka/database Version ^0.5
baka/http Version ^0.5
elasticsearch/elasticsearch Version ^6.1