この検索エンジンの小さなデモはここから入手できます。このデモは、2006 年と 2016 年の 1,000 本の映画のデータセットを使用して作成されています。入力すると結果が表示されます。
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 );
注 : これら 2 つのドキュメントを 1 つの配列に配置し、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 ライセンスの下にあります。完全なライセンスを確認する