1. Go to this page and download the library: Download ruger/scout-aws-elastic library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace App;
use ScoutElastic\Migratable;
use ScoutElastic\IndexConfigurator;
class MyModelIndexConfigurator extends IndexConfigurator
{
use Migratable;
protected $settings = [];
}
namespace App;
use ScoutElastic\Searchable;
use Illuminate\Database\Eloquent\Model;
class MyModel extends Model
{
use Searchable;
protected $fillable = [
'searchField',
'filterableField'
];
protected $indexConfigurator = MyModelIndexConfigurator::class;
}
namespace App;
class MyRule extends Ruger\ScoutAwsElastic\Builders\RuleBuilder
{
public function query(string $query): void
{
$this->must('query', $query, ['fuzziness' => 'AUTO', 'prefix_length' => 2]);
}
public function someFilter(string $filter): void
{
$this->filter('someFilter', $filter);
}
}
namespace App\Http\Controllers;
use App\MyModel;
use Facades\App\MyRule;
use Illuminate\Http\Request;
class MyController extends Controler
{
public function search(Request $request)
{
$validated = $request->validate([
'query' => '