Una pequeña demostración de este motor de búsqueda está disponible aquí. Esta demostración se realizó con un conjunto de datos de 1000 películas de 2006 y 2016. Los resultados se proporcionan a medida que escribe.
instale esta biblioteca a través de Composer:
composer require vfou/php-search 1.1
en resumen:
Eche un vistazo a la página de funciones para obtener una lista más completa.
El motor de búsqueda incluye un esquema de ejemplo que le permite acceder rápidamente a la biblioteca.
Primero necesitas cargar el motor de búsqueda.
use VFou Search Engine ;
$ engine = new Engine ();
Puede proporcionar una matriz en el parámetro del constructor de la clase; consulte la página de configuración de la wiki para obtener más información.
Al construir el motor, habrá un directorio que aparecerá junto a su archivo de índice:
(Todos estos directorios se pueden cambiar con la matriz de configuración)
Al principio hay que darle al motor algo que buscar. Crearemos algunos documentos y le pediremos al motor que los indexe.
$ 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 );
Nota: también puedes colocar estos dos documentos en una matriz y usar la función updateMultiple() para indexar varios documentos a la vez.
Ahora que sus documentos están indexados, puede utilizar la función de búsqueda y obtener resultados:
$ response = $ engine -> search ( ' second post ' );
var_dump ( $ response );
$ response = $ engine -> search ( ' post ' );
var_dump ( $ response );
Para obtener más información sobre esta biblioteca, como el uso de funciones más avanzadas, vaya a la página wiki de este repositorio.
El panel de administración es una clase de la que es necesario crear una instancia y luego ejecutarla. No es un archivo invocable, por lo que deberás llamarlo a través de un archivo php normal:
<?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 ();
El constructor del AdminPanel acepta como primer parámetro la misma matriz de configuración que puede usar para instanciar el motor, y querrá pasarla si tiene esquemas personalizados. (de lo contrario, el panel no funcionará correctamente)
Más información en el Manual del Panel de Administración
Esta biblioteca está bajo la licencia MIT. Ver la licencia completa