Crearea căutării full-text în laravel, laravel în limba rusă

În acest tutorial voi descrie crearea unei căutări full-text în Laravel 4.
Cei dintre voi care ați lucrat cu Laravel 3, vă amintesc că a avut suport pentru indexul FULLTEXT. Această funcționalitate a fost eliminată din Laravel 4, dar poate fi implementată cu ușurință.







Cu toate acestea, rețineți că căutarea full-text nu este compatibilă cu fiecare server de baze de date sau poate funcționa cu acestea în moduri diferite. Acesta a fost principalul motiv pentru eliminarea lui de la Laravel 4. Dar dacă lucrați cu MySQL, atunci puteți utiliza această căutare fără probleme!

Ce trebuie să știți despre căutarea full-text

MySQL suportă indexarea și căutarea în întregul text:

  • Indicele full-text din MySQL este un index de tip FULLTEXT.
  • Indicii full-text pot fi utilizați numai cu tabelele MyISAM. (Și în MySQL 5.6 și mai târziu pot fi folosite și cu mese InnoDB). Indicii full-text pot fi create numai pentru coloanele CHAR. VARCHAR sau TEXT.
  • Descrierea indexului FULLTEXT poate fi dată în instrucțiunea CREATE TABLE. atunci când tabela este creată sau adăugată mai târziu folosind ALTER TABLE sau CREATE INDEX.
  • Pentru seturile de date mari, este mult mai rapid să încărcați datele într-o tabelă care nu are un index FULLTEXT și apoi să creați un index decât să încărcați datele într-un tabel care are deja un index FULLTEXT.






Cum se utilizează căutarea full-text în Laravel

Pentru a începe să folosiți căutarea full-text în Laravel 4, vom avea grijă de câteva lucruri:

  • Dacă nu utilizați MySQL 5.6+, ar trebui să alegeți MyISAM în loc de InnoDB ca motor de bază de date.
  • Trebuie să configurați migrarea și să adăugați un index de text întreg.
  • Trebuie să adăugăm o funcție de căutare operatorului nostru.

Migrarea tabelului nostru

În codul de mai sus, puteți vedea că am selectat și motorul de stocare MyISAM în migrare.
Indicele FULLTEXT este specificat după crearea tabelului folosind instrucțiunea ALTER TABLE.

În funcția down (), mai întâi ștergem indexul full-text și apoi ștergem tabelul.

Adăugarea unei funcții de căutare la controlorul nostru

Acum, de exemplu, dacă parametrul interogării dvs. este "testarea". veți primi următoarea interogare MySQL:

În acest exemplu, iau și rezultatul și îl transmit reprezentării mele. Puteți utiliza și o altă reprezentare exactă.

Adăugați un traseu și modificați vizualizarea

Noi ne creăm ruta astfel:

Și putem crea o formă simplă în felul următor:

Tot ce avem nevoie este un câmp de text cu parametrul nume. cu valoarea setată a interogării (sau orice doriți să selectați ca nume de intrare în controlerul dvs.).

Asta e tot!

Credeți că acest material este util? Da, nu

Statistici: Simboluri - 5 609/4 678 fără spații (2 854/2 420 fără cod). cuvinte - 435







Trimiteți-le prietenilor: