Uma pequena demonstração deste mecanismo de busca está disponível aqui. Esta demonstração é feita com um conjunto de dados de 1.000 filmes de 2006 e 2016. Os resultados são fornecidos conforme você digita.
instale esta biblioteca via Composer:
composer require vfou/php-search 1.1
resumidamente :
Dê uma olhada na página de recursos para uma lista mais completa
O mecanismo de pesquisa vem com um esquema de exemplo que permite que você tenha acesso rápido à biblioteca.
primeiro você precisa carregar o mecanismo de busca.
use VFou Search Engine ;
$ engine = new Engine ();
Você pode fornecer um array no parâmetro do construtor da classe, veja a página de configuração do wiki para mais informações.
Ao construir o mecanismo, haverá algum diretório que aparecerá próximo ao seu arquivo de índice:
(Todos esses diretórios podem ser alterados com o array de configuração)
A princípio, você tem que dar ao motor algo para procurar. Criaremos alguns documentos e pediremos ao mecanismo para indexá-los.
$ 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: você também pode colocar esses dois documentos em um array e usar a função updateMultiple() para indexar vários documentos de uma vez.
Agora que seus documentos estão indexados, você pode usar a função de pesquisa e buscar resultados:
$ response = $ engine -> search ( ' second post ' );
var_dump ( $ response );
$ response = $ engine -> search ( ' post ' );
var_dump ( $ response );
Para mais informações sobre esta biblioteca, como usar recursos mais avançados, acesse a página wiki deste repositório
O painel Admin é uma classe que precisa ser instanciada e depois executada. Não é um arquivo que pode ser chamado, então você precisará chamá-lo por meio de um arquivo 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 ();
o construtor do AdminPanel aceita como primeiro parâmetro o mesmo array de configuração que você pode usar para instanciar o mecanismo, e você desejará passá-lo se tiver esquemas customizados. (ou então o painel não funcionará corretamente)
Mais informações no Manual do Painel Administrativo
Esta biblioteca está sob licença do MIT. Veja a licença completa