Підвищте свої навички розробки на Laravel за допомогою Typesense

Перекладено ШІ 1 Laravel News 02 червня, 2026

Залиште в минулому повільний пошук і зробіть крок у світ миттєвих результатів з Typesense для Laravel! У нашій статті ви дізнаєтеся, як просто інтегрувати цей потужний інструмент у вашому додатку та скористатися його різноманітними можливостями для революційного покращення пошукового досвіду

Швидкий та зручний пошук для Laravel. Миттєві результати, просте налаштування. Дізнайтеся більше про Typesense на GitHub!

Розпочати роботу з Typesense просто. Вони пропонують два варіанти: самостійно хостингова версія, яку можна встановити через бінарні пакети або за допомогою офіційного Docker-образу. Або, якщо вам зручніше, скористайтеся їх хмарним сервісом і відразу розпочніть роботу.

# Функції Typesense

  • Терпимість до помилок: Чудове оброблення типографічних помилок без додаткових налаштувань.
  • Простота та привабливість: Легко налаштувати, інтегрувати, експлуатувати та масштабувати.
  • ⚡ Швидкість: Створено на C++. Ретельно спроектовано для миттєвого пошуку з низькою затримкою (<50 мс).
  • Налаштовувані рейтинги: Легко підлаштувати результати пошуку під ваші потреби.
  • Сортування: Динамічне сортування результатів за певним полем під час запиту (зручно, наприклад, для "Сортувати за ціною (за зростанням)").
  • Фасетування та фільтрація: Уточнюйте результати.
  • Групування та унікальність: Групуйте схожі результати для більшої різноманітності.
  • Федеративний пошук: Шукайтe в декількох колекціях (індексах) за одним HTTP-запитом.
  • Геопошук: Шукайтe та сортуйте результати за координатами або в межах прямокутника.
  • Векторний пошук: Індеціюйте вектори з ваших машинного навчання в Typesense та здійснюйте пошук найближчих сусідів.
  • Семантичний/Гібридний пошук: Автоматично генеруйте вектори з вбудованих моделей Typesense або використовуйте OpenAI, PaLM API для запитів і даних.
  • Розмовний пошук (вбудована RAG): Надсилайте питання в Typesense і отримуйте відповіді у вигляді повних речень на основі ваших даних.
  • Пошук зображень: Шукайте за описами вмісту зображень або виконуйте пошуки схожості за допомогою моделі CLIP.
  • Голосовий пошук: Збирайте та надсилайте запити голосовими записами - Typesense їх транскрибує (через модель Whisper) і надає результати пошуку.
  • API-ключі з обмеженнями: Генеруйте ключі API, які дозволяють доступ лише до певних записів для багатокористувацьких додатків.
  • JOIN-зв'язки: З'єднуйте одну або кілька колекцій через спільні поля й об'єднуйте їх під час запиту.
  • Синоніми: Визначте слова як еквіваленти, щоб пошук за одним із них повертав результати для всіх синонімів.
  • Курація та мерчандайзинг: Підвищуйте видимість певних записів у результатах пошуку.
  • Кластеризація на базі Raft: Налаштуйте розподілений кластер з високою доступністю.
  • Безшовні оновлення версій: Оновлення нових версій Typesense - це просто заміна бінарного файлу та перезапуск сервісу.
  • Без залежностей під час виконання: Typesense - це єдиний бінарний файл, який можна запускати локально або в продакшені з однієї команди.

# Встановлення Typesense

Варіант 1: Завантажте бінарні пакети для Linux (x86_64 та arm64) та Mac (x86_64).

Варіант 2: Запустіть Typesense з офіційного Docker-образу.

Варіант 3: Розгорніть керований кластер за допомогою Typesense Cloud:

# Typesense з Laravel

Із Laravel Scout інтеграція з вашим додатком Laravel максимально проста. Просто додайте Laravel Scout та Typesense:

composer require laravel/scout
composer require typesense/typesense-php

Далі, налаштуйте змінні середовища у файлі .env вашого додатка:

SCOUT_DRIVER=typesense
TYPESENSE_API_KEY=masterKey
TYPESENSE_HOST=localhost

Додайте трейти Searchable до вашої моделі:

<?php
 
namespace App\Models;
 
use Illuminate\Database\Eloquent\Model;
use Laravel\Scout\Searchable;
 
class Post extends Model
{
    use Searchable;
}

І додайте функцію toSearchableArray:

/**
 * Отримати дані для індексації моделі.
 *
 * @return array<string, mixed>
 */
public function toSearchableArray()
{
    return array_merge($this->toArray(),[
        'id' => (string) $this->id,
        'created_at' => $this->created_at->timestamp,
    ]);
}

Ви можете ознайомитися з офіційною документацією Laravel Scout тут для детальної інформації.

Популярні

Інше, що варто прочитати

18 Оновлено 01 червня, 2026

Перетворення даних у типобезпечні DTO за допомогою пакету Data Model

Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю

17 Оновлено 01 червня, 2026

Обробка геопросторових даних за допомогою Laravel Magellan

Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!

14 Оновлено 01 червня, 2026

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше