2017-05-07 3 views
0

php에서 검색 기능을 사용하고 있습니다. @과 같은 문자를 포함하는 텍스트를 입력하면 쿼리가 실패하고 BOOLEAN 검색이 허용됩니다.mysql 전체 텍스트 검색에서 특수 문자 검색

예를 들어, @veryone을 검색하면 오류가 발생합니다. 내가 쌍 따옴표를 추가하여이 문제를 해결하려고했으나 예상대로 검색 @everyone에 대한 때문에 작동하지 않습니다, 그것은 작동하지만 모두@everone을 포함하는 행을 반환합니다.

나는 우리가 단어 mysql 전체 텍스트 검색 여기

에 특수 문자가 포함 된 검색 할 수있는 방법을 알고 싶습니다

은 (간체) 내 쿼리 : 기본적으로

SELECT * FROM messages WHERE MATCH(body) AGAINST ('@everyone' IN BOOLEAN MODE) 
+1

'InnoDB 전체 텍스트 검색은 불린 전체 텍스트 검색에서 @ 기호 사용을 지원하지 않습니다. @ 심볼은 @distance 근접 검색 연산자에서 사용하도록 예약되어 있습니다 .' – Deadooshka

답변

1

, MySQL은 같은 '@'을 취급하지 않습니다 한 단어에 유효한 문자. '@'을 처리하려면 해당 주제의 documentation을 검토하십시오.

변경 한 후에는 색인을 다시 작성해야합니다.