2016-09-26 2 views
0

'like'를 사용하여 필드를 선택하는 쿼리를 만들고 싶지만 결과에 만족하지 않습니다. 예를 들어 내 테이블에 "wood table work 45"라고 표시되어 있지만 쿼리가 SELECT 일 경우 * schema1.table1 FRAME description like "작업 테이블 % %"; 아무것도 반환하지 않습니다. 사용자가 결과를 얻으려면 정확히 "테이블 작업"또는 "나무 테이블"을 작성하지 않아도됩니다.나는 이것을 mysql에서 어떻게 할 수 있는가?

+0

단어가 일치 할 경우 행을 반환하겠습니까? –

+1

'전체 텍스트 검색'사용을 고려하십시오 – Rahul

+0

전체 텍스트 색인이 필요할 수 있습니다. 이것이 바로 이런 유형의 기능을 시작하는 장소입니다. –

답변

0

먼저이 방법을 조회하고자하는 열의 전체 텍스트 색인 만들기 : 당신은 인덱서 데몬을 실행할 필요가 없습니다

ALTER TABLE `table1` 
    ADD FULLTEXT INDEX `IndxDescription` (`description`); 

는, MySQL은 인덱스/자동 인덱싱한다. 참고로

: 전체 텍스트 /의 MyISAM에만 MySQL의 에 이노 지원됩니다 참조 : 좀 더 강력한 솔루션을 찾고 있다면 http://dev.mysql.com/doc/refman/5.7/en/fulltext-restrictions.html

는 ElasticSearch에 살펴 본다 고려 : https://github.com/elastic/elasticsearch

+0

고맙습니다. 저에게 효과가 있는지 살펴 보겠습니다. – Rchrd

관련 문제