En primer lugar, instale
Ejecutar terminal, la instalación mundial elasticsearch
, el siguiente comando:
brew install elasticsearch
Proceso, verá un mensaje de error que dice que no tiene Java
el JDK
, pero debe ser la versión 1.8 o superior, se puede instalar desde el símbolo del sistema.
brew cask install homebrew/cask-versions/java8
Después de la instalación, ejecute el comando para ver la información de versión:java -version
A continuación, brew services start elasticsearch
se puede iniciar el servicio.
En segundo lugar, crear un proyecto de prueba
1, el terminal local ejecutar el comando: laravel new blog
crear un nuevo proyecto, el acceso normal a la configuración de la máquina virtual.
2, modificar la ruta web.php
, como sigue:
Route::get('/', 'HomeController@index');
3, crea un controlador y método correspondiente, ejecutar el comando: php artisan make:controller HomeController
4, .env
la base de datos de configuración de archivos, y crear una base de datos, e insertar los datos en la tabla.
5, crear un modelo: php artisan make:model Art
6, en HomeController
el controlador de index
proceso de la escritura el código siguiente:
return Art::search('天')->get();
Recuerde anteriormente use App\Art;
En tercer lugar, la configuración elasticsearch
1, el terminal en la carpeta del proyecto, ejecutar el comando: composer require tamayo/laravel-scout-elastic
2, a continuación, crear un perfil: php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
3, modifique la información de archivo de configuración:
'driver' => env('SCOUT_DRIVER', 'elasticsearch'),
'elasticsearch' => [
'index' => env('ELASTICSEARCH_INDEX', 'laravel'),
'hosts' => [
env('ELASTICSEARCH_HOST', 'http://localhost'),
],
],
Por supuesto, la información de configuración también se puede configurar para el .env
archivo.
4, modificación Art
código de modelo como sigue:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;
class Art extends Model
{
use Searchable;
}
5, el índice introdujo:php artisan scout:import "App\Art"
6, la prueba 1, sobre la base de la operación anterior, tenemos que actualizar su navegador, verá el milagro ha nacido:
Prueba 2, código del controlador modificado
return Art::search('今天')->get();
Los resultados son como sigue:
En este punto, la búsqueda de texto completo se ha logrado. Hay otras operaciones, tales como consultas, paginación, etc., puede hacer referencia a la Laravel
documentación oficial. El siguiente paso es aplicar a proyectos reales, seguimiento perfecto.
referencias:
https://laravelacademy.org/post/9599.html
https://github.com/ErickTamayo/laravel-scout-elastic