php search
1.1.2
此处提供了该搜索引擎的一个小演示。该演示是使用 2006 年和 2016 年 1000 部电影的数据集制作的。结果会在您键入时提供。
通过 Composer 安装这个库:
composer require vfou/php-search 1.1
简而言之 :
查看功能页面以获得更完整的列表
该搜索引擎附带一个示例架构,可让您快速掌握该库。
首先您需要加载搜索引擎。
use VFou Search Engine ;
$ engine = new Engine ();
您可以在类构造函数的参数中给出一个数组,请参阅 wiki 的配置页面以获取更多信息。
通过构建引擎,索引文件旁边会出现一些目录:
(所有这些目录都可以通过配置数组进行更改)
首先,您必须向引擎提供要搜索的内容。我们将创建一些文档并要求引擎对它们建立索引。
$ 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 );
有关此库的更多信息,例如使用更高级的功能,请访问此存储库的 wiki 页面
管理面板是一个需要实例化然后运行的类。它不是一个可调用文件,因此您需要通过常规 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 的构造函数接受与您用于实例化引擎相同的配置数组作为第一个参数,如果您有自定义架构,则需要传递它。 (否则面板将无法正常工作)
更多信息请参见管理面板手册
该库已获得 MIT 许可。查看完整的许可证