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 許可。查看完整的許可證