>  Q&A  >  본문

php - mysql 퍼지 검색 문제

다음 키워드 매칭 방법을 알려주세요

예를 들어 데이터베이스 저장 문자는 다음과 같습니다: sfsdf4-1bbsdfsd;

사용자가 41bb, 4 1bb를 입력하면 이 문자열도 일치할 수 있습니다

어떻게 하나요?

감사합니다

为情所困为情所困2701일 전713

모든 응답(6)나는 대답할 것이다

  • 世界只因有你

    世界只因有你2017-05-27 17:40:56

    당신에게 필요한 것은 mysql 퍼지 검색이 아닙니다.
    검색 엔진 지원이 필요합니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-27 17:40:56

    sfsdf41bbsdfsd와 같이 무시해야 하는 특수 문자를 제거한 후 문자열을 저장할 새 필드를 만듭니다. 쿼리할 때 키워드에 대해 동일한 작업을 수행하고 새 필드를 사용하여 일치시킵니다.

    회신하다
    0
  • ringa_lee

    ringa_lee2017-05-27 17:40:56

    MySQL은
    SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$';

    와 같은 정규식 검색을 지원합니다.

    회신하다
    0
  • 怪我咯

    怪我咯2017-05-27 17:40:56

    먼저 사용자가 제출한 데이터를 처리하고, 사용자가 제출한 데이터를 공백 구분선으로 나누어 배열을 만든 다음, 이 배열의 데이터를 사용하여 퍼지 쿼리를 수행한 다음 동일한 데이터를 검색해야 한다고 생각합니다. . . 하지만 이런 식으로 많은 사용자가 쿼리하면 시스템 속도가 매우 느리게 느려질 수 있으므로 이 디자인 패턴을 사용하지 않는 것이 좋습니다

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-27 17:40:56

    제목 질문은 단어 분할 검색으로 설정되어 있습니다. 직접 퍼지 검색은 결과를 일치시킬 수 없습니다. 정규식 검색을 사용하는 것은 너무 비효율적이며, 직접 개발하고 구현하는 경우에는 권장되지 않습니다.
    검색 엔진을 사용하는 것이 좋습니다. Sphinx는 사용하기 매우 쉽고 mysql을 매우 잘 지원합니다.
    질문의 주제에는 php 개발을 자주 사용하는 경우 Xunsearch도 있습니다. 좋아요, http://www.xunsearch .com/ 중국어로 개발되었으며 문서가 모두 중국어로 되어 있어 사용하기 매우 편리합니다.

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-27 17:40:56

    검색 엔진을 사용하세요. 이것이 전문적으로 하는 일입니다

    회신하다
    0
  • 취소회신하다