>  기사  >  백엔드 개발  >  scws를 사용하여 PHP에서 mysql 전체 텍스트 검색 기능을 구현하는 방법

scws를 사용하여 PHP에서 mysql 전체 텍스트 검색 기능을 구현하는 방법

PHP中文网
PHP中文网원래의
2016-05-16 20:27:151068검색

이 글에서는 주로 PHP가 scws를 사용하여 MySQL 전체 텍스트 검색 기능을 구현하는 방법을 소개합니다. MySQL 전체 텍스트 검색 기능은 scws 단어 분할 플러그인의 확장을 통해 구현할 수 있는 매우 실용적인 기술입니다. 필요하신 친구들은 참고하시면 됩니다

이 글의 예는 PHP가 scws를 사용하여 mysql의 전체 텍스트 검색 기능을 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.

scws와 같은 중국어 단어 분할 플러그인은 꽤 좋습니다. 그냥 연구해 본 것인데, 고유명사, 인명, 지명, 디지털 연령에 대한 일련의 규칙이 포함되어 있습니다. 이러한 규칙에 따라 문장을 하나씩 키워드로 직접 분리할 수 있으며 정확도는 90%에서 95% 사이입니다. 설치 지침에 따라 scws 확장자를 php 확장자 디렉터리에 넣고 규칙 파일과 사전을 다운로드하세요. 파일을 저장하고 php 구성 파일에서 참조하세요. 단어 분할을 위해 scws를 사용하세요.

1) php 확장 코드를 php 5.4.x와 호환되도록 수정

2) 문제를 해결하세요. PHP 확장에서 scws_get_tops의 제한 매개변수는 10보다 작을 수 없습니다

3) libscws는 주로 다중 스레드 개발을 위해 기존 scws 인스턴스에서 분기하고 사전/규칙 세트를 공유하기 위해 scws_fork()를 추가합니다.

4) win32 dll 확장의 일부 버전 추가

PHP 예제 코드는 다음과 같습니다.

코드는 다음과 같습니다.

<?php 
//实例化分词插件核心类 
$so = scws_new(); 
//设置分词时所用编码 
$so->set_charset(&#39;utf-8&#39;); 
//设置分词所用词典(此处使用utf8的词典) 
$so->set_dict(&#39;/path/dict.utf8.xdb&#39;); 
//设置分词所用规则 
$so->set_rule(&#39;/path/rules.utf8.ini &#39;); 
//分词前去掉标点符号 
$so->set_ignore(true); 
//是否复式分割,如“中国人”返回“中国+人+中国人”三个词。 
$so->set_multi(true); 
//设定将文字自动以二字分词法聚合 
$so->set_duality(true); 
//要进行分词的语句 
$so->send_text(“欢迎来到火星时代IT开发”); 
//获取分词结果,如果提取高频词用get_tops方法 
while ($tmp = $so->get_result()) 
{ 
  print_r($tmp); 
} 
$so->close(); 
?>

참고: 위의 예와 같이 text를 입력하면 사전과 규칙 파일의 문자 집합이 통일되어야 합니다. 또한 일부 mysql 4.XX에서는 중국어 전체를 지원하지 않습니다. -텍스트 검색 키워드에 해당하는 위치 코드를 저장하면 전체 텍스트 검색이 가능합니다.

버전 목록

버전 유형 플랫폼 성능 기타

SCWS-1.1.x C 코드 *Unix*/*PHP* 정확도: 95%, 재현율: 91%, 속도: 1.2MB/초

PHP 확장 단어 분할 속도: 250KB/초 [다운로드] [문서] [설치 지침]

php_scws.dll(1) PHP 확장 라이브러리 Windows/PHP 4.4.x 정확도: 95%, 재현율: 91%,

php_scws.dll (2) PHP 확장 라이브러리 Windows/PHP 5.2.x 정확도: 95%, 재현율: 91%,

php_scws.dll (3) PHP 확장 라이브러리 Windows/PHP 5.3.x 정확도: 95%, 재현율: 91%,

php_scws.dll (4) PHP 확장 라이브러리 Windows/PHP 5.4.x 정확도: 95%, 재현율: 91%,

PSCWS23 PHP 소스 코드는 제한되지 않습니다( UTF-8 지원) 정확도: 93%, 재현율: 89%,

PSCWS4 PHP 소스 코드는 제한되지 않습니다. 정확도: 95%, 재현율: 91%,

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 됩니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.