- Laravel wuxuu kuu ogolaanayaa inaad fuliso wax kasta oo ka socda makiinadaha raadinta fudud ee leh AJAX ilaa raadinta qoraal buuxa oo horumarsan adoo isticmaalaya Laravel Scout iyo matoorada raadinta dibadda sida Algolia, Meilisearch, ama Elasticsearch.
- Baadhitaannada khafiifka ah, ku shaandhaynta dhinaca hore ee Alpine.js ama codsiyada keenista waddaniga ah waxay ka fogaanaysaa culayska badan ee serferka waxayna wanaajisaa khibradda isticmaale ee liisaska yaryar.
- Laravel Scout waxa ay xuddun u dhigtaa isdhexgalka matoorada raadinta kala duwan oo waxa ay sahlaysaa in lagu calaamadiyo moodooyinka sida la raadin karo, maareeyo tusmooyinka, oo u bilaabo su'aalaha si isku mid ah.
- Doorashada engine (SaaS, il furan ama database) waa in lagu saleeyaa mugga xogta, kakanaanta raadinta iyo waxqabadka iyo dayactirka shuruudaha mashruuca.
Marka aad bilowdo la shaqaynta Laravel oo aad u baahan tahay a mashiinka raadinta waqtiga-dhabta ah ee ka jawaaba isla markiibaWay fududahay in lagu lumo kun hab oo suurtagal ah: AJAX oo leh fetch, jQuery, Alpine.js, Scout with Algolia or Meilisearch, shaandhaynta hore, iwm. Warka wanaagsani waa in nidaamka deegaanka ee Laravel uu horeyba u bixiyaa wax kasta oo aad u baahan tahay si aad u dejiso raadinta siman oo degdeg ah adigoon ku dhiman isku dayga.
In this article waxaad arki doontaa sida loo ururiyo noocyada kala duwan ee raadinta-waqtiga dhabta ah ee LaravelLaga soo bilaabo AJAX autocomplete caadiga ah ilaa raadinta qoraalka buuxa ee Laravel Scout iyo makiinadaha raadinta sida Algolia, Meilisearch, xogta lafteeda, ama xitaa Elasticsearch. Waxa kale oo aad arki doontaa beddelka fudud ee Alpine.js si aad xogta si toos ah ugu shaandhayso browserka marka mugga xogtu yar tahay.
Waa maxay raadinta-waqtiga-dhabta ah ee Laravel iyo sidee bay aasaasyadu u shaqeeyaan?
Fikradda ka dambeysa raadinta-waqtiga dhabta ah waa in, sida adeegsaduhu uu ku qorayo goobta qoraalkaWeydiinta ayaa kicisay oo natiijadii waa la cusboonaysiiyay iyada oo aan dib loo soo dejin bogga. Farsamo ahaan, tani waxay ku lug leedahay saddex qaybood oo muhiim ah: dhabarka dambe ee Laravel, browserka JavaScript, iyo isweydaarsiga xogta ee qaabka JSON.
Dhinaca kale, Laravel wuxuu u shaqeeyaa sida lakabka serverka Waxay mas'uul ka tahay helitaanka codsiyada, tarjumidda cabbirrada raadinta (qoraalka la galiyay), weydiinta xogta xogta, iyo soo celinta jawaabaha habaysan, badanaa qaabka JSON. Jawaabtaani waxay muujin kartaa guul, khalad, ama inaan natiijo la helin.
Dhanka kale, JavaScript ayaa mas'uul ka ah dhageysiga dhacdooyinka isticmaalaha. Gelitaanka raadinta, u dir codsiyada asynchronous (AJAX) dhabarka dambe oo muuji xogta la soo celiyay ee bogga iyada oo browserku aanu samayn dib-u-cusboonaysiin buuxda. Tan waxaa lagu samayn karaa keenista waddaniga ah, jQuery AJAX, ama maktabado yaryar oo fal-celin ah sida Alpine.js.
Habkan aasaasiga ah waxaad ka dhisi kartaa a Autocome fudud oo leh dhowr diiwaan, ilaa mashiinka raadinta qoraal-buuxa oo horumarsan oo leh khusayn, pagination iyo filtarrada, oo ay taageerayaan maktabadaha sida Laravel Scout iyo matoorada raadinta dibadda ee loo habeeyay raadinta.
Qaabka, waddooyinka, iyo kontoroolka mashiinka raadinta waqtiga-dhabta ah ee aasaasiga ah
Kahor intaadan u dhex gelin JavaScript, waxaad u baahan tahay inaad hubiso in dhinaca Laravel si wanaagsan loo habeeyey: moodel qallafsan oo lagu baadho, jidad cad, iyo maamule go'an si loo maareeyo macquulnimada raadinta wakhtiga dhabta ah.
Talaabada ugu horeysa waa in lahelo model codkar ah oo matalaya miiska aad raadinayso. Bal qiyaas miis wadamo iyo qaab la yiraahdo Wadan Aad u fudud, iyada oo aan lahayn shaambad wakhti ah iyo hawlo badan oo la oggol yahay:
Tusaalaha qaabka ugu yar ee codkarnimada ah ee raadinta:
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Pais extends Model
{
use HasFactory;
protected $guarded = [];
public $timestamps = false;
}
Waxaa lagu tilmaamay halkan in model ah Pais waxay ku taalaa magaca caadiga ah ee LaravelWaxay ka dhaxashay Model waxayna kuu ogolaaneysaa inaad ku meeleyso goob kasta oo leh abuur () adigoo ka tagaya shaxanka la ilaalinayo oo madhan. Markaad joojiso timestamps-ka dadweynaha $timestamps = been, waxaad ka fogaataa dhibaatooyinka haddii miiska aanu lahayn curinta_at iyo kuwa la cusboonaysiiyay.
Tallaabada xigta waa in la qeexo wadooyinka qaban doona labadaba bandhiga mashiinka raadinta iyo codsiyada AJAXNidaam caam ah ayaa isku daraa dariiqa GET si loo muujiyo aragtida iyo dariiqa POST ee loogu talagalay in lagu helo weydiimaha waqtiga-dhabta ah:
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\BuscadorController;
Route::get('/', function () {
return view('welcome');
});
Route::get('buscador', [BuscadorController::class, 'index']);
Route::post('buscador', [BuscadorController::class, 'buscar']);
Waddada xididku waxay soo celisaa aragti soo dhaweyn ah, halka URL-ka /raadinta waxaa loo hayaa shaqeynta raadintaHabka tusmada () kantaroolaha ayaa soo bandhigaya foomka iyo raadinta raadinta, halka habka raadinta() uu farsameeyo codsiyada aan kala sooc lahayn ee laga soo diro browserka.
Xakameeyaha waxaad ka hirgalin kartaa qaab aad wax ku ool ah: Diyaari qaabaynta jawaabta caadiga ah haddii ay dhacdo khalad oo kaliya ku qor marka ay dhab ahaantii tahay codsi AJAX sax ah oo su'aashu ay fuliso dhib la'aan.
Kantarooluhu waxa uu yeelan karaa a qaabdhismeed la mid ah tan:
namespace App\Http\Controllers;
use App\Models\Pais;
use Illuminate\Http\Request;
class BuscadorController extends Controller
{
public function index()
{
return view('welcome');
}
public function buscar(Request $request)
{
$response = [
'success' => false,
'message' => 'Hubo un error',
];
if ($request->ajax()) {
$data = Pais::where('nombre', 'like', $request->texto.'%')
->take(10)
->get();
$response = [
'success' => true,
'message' => 'Consulta correcta',
'data' => $data,
];
}
return response()->json($response);
}
}
Halkaa marka ay marayso waxaad hore u haysatay wareegga dhabarka oo dhammaystiran: Codsiga AJAX ee soo socda, hubinta inuu AJAX yahay, weydiinta halka la jecel yahay iyo xaddididda natiijooyinka tiro macquul ah oo la isticmaalayo qaadashada(10) si looga fogaado xad dhaafka xogta xogta. Jawaabta had iyo jeer waxaa lagu soo diraa JSON, taasoo si weyn u fududaysa shaqada safka hore.
Aragtida Blade iyo JavaScript u keen raadinta falcelinta
Iyada oo ay diyaarsan yihiin moodeelka, waddooyinka, iyo kontaroolaha, waa waqtigii la dhisi lahaa qaybta muuqata: foom leh goob goob raadin iyo block si loo muujiyo natiijooyinka, oo lagu daray JavaScript-ka mas'uulka ka ah samaynta codsiyada xagga dambe.
Aragtida Blade waxay noqon kartaa mid aad u fudud, iyada oo ku tiirsan Calaamadaha CSRF Kaas oo Laravel ku duray si loo ansixiyo codsiyada POST iyo gelinta raadinta ku habboon in la isticmaalo:
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<strong><meta name="csrf-token" content="{{ csrf_token() }}"></strong>
<title>Laravel</title>
</head>
<body>
<form action="" method="post">
<input type="search" name="texto" id="buscar">
</form>
<div id="resultado"></div>
<script>
window.addEventListener('load', function () {
const buscar = document.getElementById('buscar');
const resultado = document.getElementById('resultado');
buscar.addEventListener('keyup', function () {
fetch('/buscador', {
method: 'post',
body: JSON.stringify({ texto: buscar.value }),
headers: {
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
'X-CSRF-Token': document.head.querySelector('[name~="csrf-token"][content]').content,
},
})
.then(response => response.json())
.then(data => {
let html = '';
if (data.success) {
html += '<ul>';
for (let i in data.data) {
html += '<li>' + data.data[i].nombre + '</li>';
}
html += '<ul>';
} else {
html += 'No existen resultados';
}
resultado.innerHTML = html;
});
});
});
</script>
</body>
</html>
Tusaalahan qoraalka Dhageyso dhacdada furaha ee gelinta raadintaIstaroog kastaa wuxuu kiciyaa codsi soo jiidasho leh oo loo maro dariiqa raadinta. Qoraalka hadda ee goobta waxa loo diraa qaabka JSON, madaxyada muhiimka ah sida X-Codsaday-With ayaa lagu soo daray si ay u muujiyaan inay AJAX tahay, oo ay la socoto calaamada CSRF si looga gudbo ilaalinta hooyo ee Laravel.
Markay jawaabtu timaaddo, waxa loo beddelaa JSON oo si firfircoon ayaa loo dhaliyaa. Liis yar oo HTML ah oo leh natiijooyinama fariin sida "Natiijooyin lama helin" marka su'aashu ay soo noqoto xog la'aan. Waxaas oo dhan iyada oo aan dib loo soo dejin bogga, hab dabiici ah oo loogu talagalay isticmaalaha.
Habkan waxaa lagu sii sifayn karaa faahfaahin yar oo UX ah, sida ku darida a dib u dhac (debounce) inta u dhaxaysa furayaasha furaha, soo bandhig loader ama xakamee khaladaadka shabakada si aad uga hortagto in interface-ku u muuqdo mid barafoobay markii ay wax fashilmaan.
Raadinta tooska ah ee Laravel iyo AJAX iyadoo la adeegsanayo jQuery
In kasta oo ay maanta wax badan ka faa'iidaysteen, jQuery AJAX ayaa weli ah mid caan ah Mashaariic dhaxal gal ah ama kooxihii hore u fuliyay. Fikradda dhab ahaan waa isku mid: qabso waxa adeegsadaha, samee codsi asynchronous ah, oo dib u cusboonaysii DOM.
Socodka caadiga ah ee jQuery ee Laravel ee raadinta tooska ah sida caadiga ah waxaa ku jira tillaabooyinkan aasaasiga ah: qeex waddo gaar ah, samee koontaroole go'an, ku dhis aragtida Blade oo leh gelinta raadinta Ugu dambeyntiina, ku dar koodhka jQuery ee kiciya AJAX sida loo qoray.
Nidaamku wuxuu u shaqeeyaa sidan: marka isticmaaluhu bilaabo qorista, jQuery waxay u soo dirtaa su'aal serferka oo leh xadhig raadin. Laravel waxa uu shaandheeyaa macluumaadka ku jira kaydka xogta, waxa uu ku soo celiyaa JSON oo leh natiijooyin iswaafajin ah, jQuery waxa uu cusboonaysiiyaa weelka HTML ee bogga si uu u muujiyo tabarrucaada, dhamaantood waxa ay ku jiraan millise seconds.
Faa'iidada isticmaalka jQuery waa taas Waxay si qurux badan u soo koobaysaa ereyga AJAX Waxayna aad u fudud in la akhriyo haddii aad horeba maktabadda ugu jirtay mashruucaaga. Si kastaba ha ahaatee, waxaad ku daraysaa ku-tiirsanaan dheeraad ah oo laga yaabo inaan loo baahnayn haddii aad la shaqeyn karto JavaScript casriga ah iyo soo-qaadashada asalka ah.
Shaandhaynta-waqtiga-dhabta ah iyo ka baadh dhanka hore ee Alpine.js
Marka xogta la soo bandhigayo ay yaraato (tusaale ahaan, in ka yar 50 oo shay), had iyo jeer ma habboona in la sameeyo dhabarka dambe oo leh baaritaanno adag. Xaaladahaas, doorasho aad u habboon ayaa ah Si toos ah ugu shaandhayso browserka Alpine.js, iyada oo aan wax codsi ah loo samayn server-ka marka isticmaaluhu uu qorayo.
Fikradda ayaa ah in horay loo xisaabiyo xargaha raadinta ee shay kasta (tusaale ahaan, magaca, sharaxaadda, iyo qaybta farmaajo hoose), ku kaydi xogta-raadinta-qoraalka sifada, oo Alpine.js u ogolow in ay gacanta ku dhigto inta kale. tusi ama qari walxaha sida ku qoran qoraalka goob goob raadin.
Qaybta Alpine.js waxay yeelan kartaa qaab sidan la mid ah: shaandhaynta walxaha
{
search: '',
hasResults: true,
selectedValue: '',
init() {
this.$watch('search', () => this.filterItems());
this.$nextTick(() => this.$refs.searchInput?.focus());
},
filterItems() {
const searchLower = this.search.toLowerCase().trim();
const cards = this.$el.querySelectorAll('.item-card');
let visibleCount = 0;
cards.forEach(card => {
const text = card.dataset.searchText || '';
const isVisible = searchLower === '' || text.includes(searchLower);
card.style.display = isVisible ? '' : 'none';
if (isVisible) visibleCount++;
});
this.hasResults = visibleCount > 0;
},
}
Aragtida, kaar kasta ama saf kasta oo xog ah ayaa sifo leh xog-raadinta-qoraalka leh qoraalka hore loogu diyaariyey farmaajoSidaa darteed, filtarka waxaa loo dhimay shaqada ay ka mid tahay () ee JavaScript, kaas oo aad ugu degdegsan liisaska gaaban:
<input type="search" x-model="search" x-ref="searchInput" placeholder="Buscar..." />
<div>
<div class="item-card" data-search-text="formulario contacto simple">
<h3>Formulario de contacto</h3>
<p>Formulario de contacto simple</p>
</div>
</div>
Intaa waxaa dheer, waxaad soo bandhigi kartaa xannibaad dawladeed oo madhan oo keliya marka Ma jiraan natiijooyin ereyga raadinta hadda.ku martiqaadida isticmaalaha inuu wax ka beddelo qoraalka ama ku nadiifiyo garoonka badhan si fudud dib ugu dejinaya raadinta xadhig madhan.
Habkani wuxuu leeyahay faa'iidooyin cad: Ma jiraan wax wicitaan ah oo server ah inta lagu jiro raadinta.Is dhexgalka ayaa ah mid degdeg ah, caqliguna wuxuu ahaanayaa mid heer sare ah oo maxalli ah oo sahlan in la saxo. Way ku fiican tahay xulashooyinka degdega ah, qaababka xulashada shay, ama buugag yar oo ku guntan bogga Laravel.
Laravel Scout: Raadinta qoraal buuxa oo leh matooro khaas ah
Marka arrimuhu noqdaan kuwo halis ah oo aad u baahan tahay degdeg ah, khuseeya, iyo scalable baaritaan qoraal buuxaWaddada dabiiciga ah ee Laravel waa Laravel Scout. Scout waa lakabka is dhexgalka kaas oo kuu ogolaanaya inaad si fudud ugu xidhid moodooyinkaaga codkarnimo leh matoorada raadinta sida Algolia, Meilisearch, xogtaada, kaydinta xusuusta, ama xitaa Elasticsearch iyada oo loo marayo kontaroolayaasha dibadda.
Si aad u bilowdo Scout, waxa caadiga ah waa samee mashruuc cusub oo Laravel ah ama dib u isticmaal mid jiraSi aad u bilowdo, isticmaal Docker (tusaale, Laravel Sail) ka dibna ku rakib maktabadda laxanka. Marka taas la sameeyo, daabac faylka qaabeynta scout.php oo hagaaji doorsoomayaasha deegaanka sida uu qabo darawalka aad rabto inaad isticmaasho.
Socodka shaqada ee caadiga ah wuxuu noqon lahaa in lagu rakibo Scout la laxamiistaha, daabaco qaabaynteeda, iyo ku dhaqaaji safka tusmaynta SCOUT_QUEUE=run Faylka .env, hubi in hawlgallada khayraadka-dhaqdhaqaaqa ah lagu farsameeyay gadaasha, hagaajinta wakhtiyada jawaabta codsiga. Intaa waxaa dheer, waa inaad hubisaa in DB_HOST tilmaamayo xogta aad isticmaalayso, taas oo si gaar ah muhiim u ah haddii aad isticmaalayso weelasha Docker.
Si moodelku uga qaybqaato raadinta Scout, waa lagama maarmaan in la sameeyo Si aad si cad ugu calaamadiso mid la raadin karo adoo ku daraya sifada la raadin karoTusaale ahaan, haddii aad haysato nooc tareen oo ka dhigan miiska tareenada oo leh meel cinwaan ah, waxaad u qeexi kartaa sidan:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;
class Train extends Model
{
use Searchable;
protected $fillable = ['title'];
public function searchableAs()
{
return 'trains_index';
}
}
Habka searchableAs ayaa ogolaanaya habbee magaca tusaha ee mashiinka raadintaHalkii la isticmaali lahaa magaca caadiga ah ee laga soo qaatay moodeelka, Scout ayaa la wareegaysa. Laga soo bilaabo halkan, Scout waxay gacanta ku haysaa isku-dubbaridka abuurista, cusboonaysiinta, iyo tirtirka hawlgallada fogaanta ama tusmooyinka maxalliga ah, iyadoo ku xidhan darawalka la doortay.
Laravel Scout oo leh Algolia: Raadinta SaaS-dhakhso leh
Algolia waa adeeg SaaS diiradda saaraya si ay u bixiyaan baaritaan aad u degdeg badan oo khuseeya oo dhan tiro badan oo xog ahWaxay leedahay guddi shabakadeed oo lagu maareeyo tusmooyinka, xeerarka khuseeya, ereyada la midka ah, iwm., waxayna si fiican ula midaysaa Laravel iyada oo loo marayo Scout iyo macmiilka rasmiga ah ee PHP.
Si aad u isticmaasho Algolia leh Scout, waxaad u baahan doontaa inaad ku rakibto macmiilkeeda PHP oo wata laxamiistaha, ka diiwaan geli aqoonsigaaga faylka .env (Aqoonsiga Codsiga iyo Furaha API Admin), iyo dhigay SCOUT_DRIVER=algolia si loo sheego Scout inay isticmaasho mishiinkan. Kooxda Algolia waxaad ka heli kartaa aqoonsiga codsiga iyo furaha maamulka labadaba.
Marka deegaanka la habeeyo, waxaad isticmaali kartaa habab ay ka mid yihiin Tareen :: raadinta ('qoraalka')->paginate(6) si toos ah u geli kontaroolayaashaada si aad u baadho meelaha la tilmaansan yahay, adiga oo helaya natiijooyinka qaabka codkarnimo ee paginated ah oo diyaar u ah in loo gudbiyo aragtida Blade.
Tusaale ahaanWaxaad yeelan kartaa koontaroole index kaas oo taxaya dhammaan tareenada ama sameeya baadhitaan haddii la helo halbeeg-raadinta ciwaanka, iyo abuurista hab tareenno cusub lagu geliyo tusmada:
public function index(Request $request)
{
if ($request->has('titlesearch')) {
$trains = Train::search($request->titlesearch)->paginate(6);
} else {
$trains = Train::paginate(6);
}
return view('Train-search', compact('trains'));
}
public function create(Request $request)
{
$this->validate($request, ['title' => 'required']);
Train::create($request->all());
return back();
}
Aragtida u dhiganta, waxaad isku dari kartaa foomka diiwaangelinta tareenada cusub iyo foom kale oo GET ah oo leh goob raadinta cinwaan oo kicinaysa raadinta marka la soo gudbiyo. Markaa waxaad u baahan tahay oo kaliya inaad ku celceliso ururinta tareenada oo aad beerahooda ku soo bandhigto miis, adigoo ka faa'iidaysanaya isku-xidhka boggaga ee uu sameeyay Laravel.
Scout leh Meilisearch, database iyo ururinta
Haddii aad doorbidayso inaad ka fogaato adeegyada dibadda, Meilisearch waa mashiinka raadinta il furan kaas oo aad geyn karto gudaha ama kaabayaashaaga. Scout waxay la midaysaa Meilisearch si la mid ah Algolia, si fudud isaga oo beddelaya darawalka oo ku dara doorsoomayaasha MEILISEARCH_HOST iyo MEILISEARCH_KEY faylka .env.
Si aad u isticmaasho, waxaad rakibtay macmiilka Meilisearch PHP, hagaaji SCOUT_DRIVER=meilisearch oo MEILISEARCH_HOST u tus URL tusaale ahaan (tusaale, http://127.0.0.1:7700). Haddii aad hore u haysatey diiwaanno hore, waxaad ku tilmaami kartaa amarka php artisan scout: soo dejinta "App ModelsTrain" si matoorku u helo.
Codsiyada yaryar ama dhexdhexaadka ah, waxaad sidoo kale dooran kartaa Xogta dareewalka ScoutTani waxay ka faa'iidaysanaysaa tusmooyinka qoraalka buuxa iyo LIKE amarrada MySQL ama macluumaadkaaga PostgreSQL. Xaaladdan oo kale, uma baahnid adeeg dibadeed; si fudud u dhig SCOUT_DRIVER=database for Scout si ay xogta xogta lafteeda u isticmaasho mashiinka raadinta.
Ikhtiyaar kale oo xiiso leh ayaa ah ururinta darawalka, kaas oo ka shaqeeya ururinta codkarnimo ee xusuustaMatoorkani wuxuu shaandheeyaa natiijooyinka isagoo isticmaalaya WHERE clauses iyo shaandhaynta ururinta, wuxuuna la jaan qaadayaa xog kasta oo uu taageero Laravel. Waxaad ku kicin kartaa 'SCOUT_DRIVER=ururin' ama adiga oo hagaajinaya faylka qaabeynta Scout si aad u hesho goobo gaar ah.
Ku-dhexgalka Elasticsearch iyadoo la adeegsanayo Explorer
Haddii baahidaada raadinta ay ku lug leedahay ku shaqaynta tiro badan oo xog ah iyo falanqaynta wakhtiga-dhabta ahElasticsearch waa mid caadi ah. Nidaamka deegaanka ee Laravel, habka casriga ah ee loogu dari karo Scout waa in la isticmaalo maamulaha Explorer, kaas oo u shaqeeya sidii buundada u dhaxaysa moodooyinkaaga iyo kooxda Elasticsearch.
Si tan loo sameeyo, Docker waxaa badanaa la adeegsadaa, oo ay la socoto faylal hodan ah oo ka kooban docker-ka kaas oo ay dheer tahay adeegyada caadiga ah (Laravel, MySQL, Redis, Meilisearch, iwm.), Elasticsearch iyo weelasha KibanaKadibna waxaad ku rakibtay xirmada jeroen-g/explorer adigoo isticmaalaya laxanka oo daabac faylka qaabeynta si aad u muujiso moodooyinka ay tahay in la tilmaamo.
Faylka config/explorer.php waxaad ka diiwaan gelin kartaa moodooyinkaaga hoosta furaha tusmooyinka, tusaale ahaan adigoo ku daraya App \Models \ Tareen :: classIntaa waxaa dheer, waxaad u beddeshaa darawalka Scout una beddelo laastikada faylka .env ee leh SCOUT_DRIVER=elastic si wax walba u tilmaamaan Elasticsearch.
Qaabka Tareenka dhexdiisa, interface-ka la sahamiyey waa in la hirgeliyaa oo habka laga gudbo. mappableSidakaas oo qeexaya khariidadda meelaha loo diri doono tusaha. Tusaalaha ugu yar wuxuu noqon lahaa:
use JeroenG\Explorer\Application\Explored;
use Laravel\Scout\Searchable;
class Train extends Model implements Explored
{
use Searchable;
protected $fillable = ['title'];
public function mappableAs(): array
{
return [
'id' => $this->id,
'title' => $this->title,
];
}
}
Hadda ka dib, Waxaad ka bilaabi kartaa raadinta Elasticsearch adiga oo isticmaalaya isla interface Scout., ka faa'iidaysiga wakhtiyada jawaabta aadka u hooseeya iyo awoodda waydiinta buuxda ee mishiinka, laakiin iyada oo aan laga tegin nidaamka deegaanka ee Laravel.
Dhammaan dariiqooyinkan - laga bilaabo autocomplete aasaasiga ah oo leh fetch ama jQuery, ilaa shaandhaynta hore ee Alpine.js, raadinta qoraal buuxa ee Laravel Scout iyo darawallada kala duwan Laravel waxa uu ku siinayaa fursado badan oo kala duwan oo aad ku hirgalinayso raadinta-waqtiga dhabta ah oo lagu habeeyey cabbirka mashruucaaga, waxqabadka aad u baahan tahay, iyo kaabayaasha aad diyaarka u tahay inaad ilaaliso.
Jadwalka Tusmada
- Waa maxay raadinta-waqtiga-dhabta ah ee Laravel iyo sidee bay aasaasyadu u shaqeeyaan?
- Qaabka, waddooyinka, iyo kontoroolka mashiinka raadinta waqtiga-dhabta ah ee aasaasiga ah
- Aragtida Blade iyo JavaScript u keen raadinta falcelinta
- Raadinta tooska ah ee Laravel iyo AJAX iyadoo la adeegsanayo jQuery
- Shaandhaynta-waqtiga-dhabta ah iyo ka baadh dhanka hore ee Alpine.js
- Laravel Scout: Raadinta qoraal buuxa oo leh matooro khaas ah
- Laravel Scout oo leh Algolia: Raadinta SaaS-dhakhso leh
- Scout leh Meilisearch, database iyo ururinta
- Ku-dhexgalka Elasticsearch iyadoo la adeegsanayo Explorer