Skip to content

Latest commit

 

History

History
33 lines (29 loc) · 2.34 KB

indexing.md

File metadata and controls

33 lines (29 loc) · 2.34 KB

Индексирование

Материал станет доступным для поиска после внесения в индекс, т.е. после его индексации. Удобнее всего индексировать материал, когда он создаётся или обновляется. За индексирование в библиотеке отвечает класс Indexer. Инициализируем его, указав в качестве параметра объект с конфигурацией.

<?php
use win0err\LightSearch\Indexer;
$indexer = new Indexer( $config );

Добавление в индекс

Чтобы проиндексировать материал, его нужно передать индексировщику в специальном формате. Для этого создан класс Indexable.

<?php
use win0err\LightSearch\Entity\Indexable;
$indexable = new Indexable();
$indexable
	->setExternalId('post.example') // Внешний ID для идентификации материала в проекте
	->setTitle('Пример индексирования')  // Заголовок материала
	->setDate(new \DateTime("now")) // Дата создания материала
	->setUrl('/example.html') // Ссылка на материал
	->setText($text); // Текст материала
// Добавляем материал в индекс:
$indexer->index($indexable);

Обновление материала в индексе

При добавлении в индекс LightSearch проверяет, существует ли уже материал с таким же внешним идентификатором. Если не существует, то библиотека добавит материал в индекс, иначе, если есть изменения обновит существующий материал.

Удаление материала из индекса

Для удаления материала из индекса, нужно использовать метод «removeByExternalId», передав ему в качестве параметра внешний идентификатор: $indexer->removeByExternalId('post.example’);


Далее: Поиск по индексу