이 검색 엔진의 작은 데모는 여기에서 볼 수 있습니다. 이 데모는 2006년과 2016년의 영화 1,000편으로 구성된 데이터 세트로 제작되었습니다. 입력하면 결과가 제공됩니다.
Composer를 통해 이 라이브러리를 설치하십시오.
composer require vfou/php-search 1.1
간단히 말해서 :
더 완전한 목록을 보려면 기능 페이지를 살펴보세요.
검색 엔진은 라이브러리를 빠르게 사용할 수 있는 예제 스키마와 함께 패키지되어 있습니다.
먼저 검색 엔진을 로드해야 합니다.
use VFou Search Engine ;
$ engine = new Engine ();
클래스 생성자의 매개변수에 배열을 제공할 수 있습니다. 자세한 내용은 위키의 구성 페이지를 참조하세요.
엔진을 구성하면 인덱스 파일 옆에 다음과 같은 디렉터리가 표시됩니다.
(이 모든 디렉토리는 구성 배열로 변경될 수 있습니다)
처음에는 엔진에 검색할 내용을 제공해야 합니다. 우리는 몇 가지 문서를 생성하고 엔진에 색인을 생성하도록 요청할 것입니다.
$ 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 );
고급 기능 사용 등 이 라이브러리에 대한 자세한 내용을 보려면 이 저장소의 위키 페이지로 이동하세요.
관리자 패널은 인스턴스화한 후 실행해야 하는 클래스입니다. 호출 가능한 파일이 아니므로 일반 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 라이센스를 따릅니다. 전체 라이센스 보기