Php + mysql 중국 단어 세분화 전체 텍스트 인덱싱의 간단한 구현

출처: 인터넷
작성자: 사용자
키워드: mysql php

중간 트랜잭션 http://www.aliyun.com/zixun/aggregation/6858.html "> seo 진단 Taobao 게스트 클라우드 호스트 기술 홀

많은 사람들이 중국 전체 텍스트 인덱싱 MySQL 문제를 공부 했다, 현재 MySQL에 중국 전체 텍스트 인덱싱, 무력 지원 하지 믿습니다 ~ ~ ~

인터넷 기사를 찾아 더 많은 n php + mysql에 중국 전체 텍스트 인덱스에 좋은 사용 하는 방법을 모른다 일반 신인에 대 한 PHP 중국 분사 있다 ddede, Dede 동의어는 매우 강력 하지만 또한 계산 그것을 사용할 수 있습니다!

또한 "scws-간단한 중국어 단어 분할 시스템," 일반 신인에 대 한 전류 모른다 이용 방법, 비록 사람이 컴파일된 Windows 버전 이지만 설치는 여전히 매우 곤란 하 고, 내가 테스트 하지 않았습니다!

//==========================

말도 많은 말을 하지 않습니다, 먼저 dede 단어 알고리즘 함수 및 동의어 사전 다운로드, 다운로드 주소: http://www.dedecms.com/html/chanpinxiazai/20061229/3.html

지침의 자세한 사용, 내가 여기에 사용;의 예를 인용

MySQL 테이블 이름: 음악

필드: 제목, 태그

  

필요 ("lib_splitword_full.php");

$str = "여기에 콘텐츠를 분사, 일반적으로 초과 하지 않는 1024 KB 좋을 것 이다, 그렇지 않으면 그것은 매우 느린 됩니다!"

$SP 새로운 Splitword () //instantiated =

$DD = 분해 ("", $sp-> splitrmm ($STR));

$i = 0;

foreach ($key로 $dd = > $var) 없음

경우 (strlen ($var) > 2) //UTF8 인코딩 하시기 바랍니다 3 세트, UTF8 인코딩 때문에 중국어는 3 바이트 보다 더 일반적으로, 필터 단어를 저장 하지 않습니다!

{

$str. = base64_encode ($var). "//Because MySQL에 중국 전체 텍스트 인덱싱을 지원 하지 않습니다, 우리는 문자 또는 숫자 분사에 단어 변환 하 Base64 인코딩을 선택 하는 곳

물론, 우리 중국 지역 코드로 변환할 수도 있습니다 하지만 난 Base64 사용 하는 것이 좋습니다 그래서 나 느낌 매우 일반적인 지역 코드의 메서드 테스트

$i + +;

}

경우 ($i > = 50) 휴식; //Here를 저장할 경우 문서 수는 n 많은 구문을, 큰 포인트를 설정할 수 있지만 인 경우 제목 분사에 50 정도면 얼마나 많은 문구를 설정 됩니다!

이 작업은 코딩 된 결과:이 단어의 내용은 일반적으로 이상의 1024 KB 포인트 그렇지 않으면

Base64 인코딩된 결과: 1ela7w t9a0yg = xnri3q = = 0ruw4w = = srvsqg = = = = s6y5/q mtaynetc, 0ru14w = = t/hu8g = = = =

}

? >

그래서 우리는 말씀 하 고 태그 필드에 인코딩된 단어 변환 수 있습니다, 물론 태그 필드로 설정 되어야 합니다 전체 텍스트 인덱스의 전체 텍스트와 6184.html "> 데이터 시트 유형 MyISAM 되어야 합니다."

태그 필드 데이터 형식이 char 및 varchar, MySQL의 전체 텍스트 인덱스를 만드는 방법에 대 한 텍스트, 사방에 MySQL 창조 인덱스를 검색할 수 있습니다!

다음 예제는 태그 필드의 내용에 따라 전체 텍스트 인덱싱 쿼리:

  

("Mysql.class.php을")를 포함 한다;

$rs = $DB-> get_one ("선택 제목, 음악에서 태그 어디 id = $id") id //Read 제목과 태그 필드 내용을

$title = $rs [' 제목 '];

$sql = $DB-> 쿼리 ("제목 선택, 검색 (태그) ('. 트림 ($rs [' 태그 '])." 음악에서 부울 모드에서 어디에 대 한 (태그)를 일치 (' ". 트림 ($rs [' 태그 '])." 부울 모드)에서 (점수 DESC 제한 21 "); //This 쿼리 20 유사 콘텐츠 이며 비슷한 종류에 따르면 21 동일한 레코드 일치 하기 때문에!

동안 ($rs = $DB-> fetch_array ($sql))

{

경우 ($rs [' 제목 ']! = $title)

{

에코 $rs [' 제목 '].
";

}

}

$DB-> 닫기 ();

? >

효과 데모를 볼 수 내 역에 갈 수 있다 보고 싶은 경우: http://www.dj965.com

위의 예제는 Php + mysql 실현 간단한 중국 단어 세분화 풀-텍스트 인덱스!

나 같은 신인 희망 몇 가지 도움이 필요!

내가 blog:http://hi.baidu.com/web20/

 

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.