Небольшая демо-версия этой поисковой системы доступна здесь. Эта демонстрация создана на основе набора данных из 1000 фильмов 2006 и 2016 годов. Результаты предоставляются по мере ввода.
установите эту библиотеку через Composer:
composer require vfou/php-search 1.1
суммируя :
Взгляните на страницу функций, чтобы получить более полный список.
Поисковая система снабжена примером схемы, которая позволит вам быстро освоить библиотеку.
сначала нужно загрузить поисковую систему.
use VFou Search Engine ;
$ engine = new Engine ();
Вы можете указать массив в качестве параметра конструктора класса. Дополнительную информацию см. на странице конфигурации вики.
При создании движка рядом с вашим индексным файлом появится некоторый каталог:
(Все эти каталоги можно изменить с помощью массива конфигурации)
Сначала вы должны дать движку что-то для поиска. Мы создадим несколько документов и попросим движок их проиндексировать.
$ doc = [
" id " => 1 ,
" type " => " example-post " ,
" title " => " this is my first blog post ! " ,
" content " => " I am very happy to post this first post in my blog ! " ,
" categories " => [
" party " ,
" misc. "
],
" date " => " 2018/01/01 " ,
" comments " => [
[
" author " => " vincent " ,
" date " => " 2018/01/01 " ,
" message " => " Hello world! "
],
[
" author " => " someone " ,
" date " => " 2018/01/02 " ,
" message " => " Welcome ! "
]
]
];
$ engine -> update ( $ doc );
$ doc = [
" id " => 2 ,
" type " => " example-post " ,
" title " => " This is the second blog post " ,
" content " => " a second one for fun " ,
" date " => " 2018/01/05 " ,
" categories " => [
" misc. "
],
" comments " => [
[
" author " => " someone " ,
" date " => " 2018/01/05 " ,
" message " => " Another one ?! "
]
]
];
$ engine -> update ( $ doc );
Примечание. Вы также можете поместить эти два документа в один массив и использовать функцию updateMultiple() для одновременной индексации нескольких документов.
Теперь, когда ваши документы проиндексированы, вы можете использовать функцию поиска и получать результаты:
$ response = $ engine -> search ( ' second post ' );
var_dump ( $ response );
$ response = $ engine -> search ( ' post ' );
var_dump ( $ response );
Для получения дополнительной информации об этой библиотеке, например, об использовании более продвинутых функций, перейдите на вики-страницу этого репозитория.
Панель администратора — это класс, экземпляр которого необходимо создать, а затем запустить. Это не вызываемый файл, поэтому вам нужно будет вызвать его через обычный php-файл:
<?php
use VFou Search AdminPanel ;
// include the composer autoload file, modify the path if needed
require " vendor/autoload.php " ;
// securize your file access or directly here
// if($_SERVER['REMOTE_ADDR'] != "127.0.0.1") exit('unauthorized');
// instantiate the panel and then run it
$ admin = new AdminPanel ();
echo $ admin -> run ();
Конструктор AdminPanel принимает в качестве первого параметра тот же массив конфигурации, который вы можете использовать для создания экземпляра Engine, и вы захотите передать его, если у вас есть настроенные схемы. (иначе панель не будет работать корректно)
Дополнительная информация в руководстве по панели администратора.
Эта библиотека находится под лицензией MIT. Посмотреть полную лицензию