인고의삶

[mariadb]자연어검색

· 4년 전 · 2801

mysql 5.7 이후로 ngram이 생겨서,

한글 자연어 검색하는데 있어서 조금이나마 도움이 되었었는데,

mariadb에서는 ngram이 지원되지 않아서

작년에 mroonga라는 것을 알게되었습니다.

 

mariadb에서 자연어 검색을 하시는 분들께 조금이나마 도움이 되고자

정보 공유 드립니다.

 

 

Mroonga엔진이 서버 메모리를 잡아 먹기 때문에 반드시 아래 처럼

래퍼모드로 생성하여 테이블을 만들어야 합니다. 초록색 뛰 부분 참고 부탁드립니다.

mysql> CREATE TABLE diaries (
    ->   id INT PRIMARY KEY AUTO_INCREMENT,
    ->   content VARCHAR(255),
    ->   FULLTEXT INDEX (content)
    -> ) ENGINE = Mroonga COMMENT = 'engine "InnoDB"' DEFAULT CHARSET utf8;
사용법은 아래 처럼 사용하시면 됩니다.
SELECT * FROM diaries WHERE MATCH(content) AGAINST("방가워용~" IN BOOLEAN MODE);

 

SELECT * FROM diaries WHERE MATCH(content) AGAINST("방가워용~" IN natural language MODE);

|
댓글을 작성하시려면 로그인이 필요합니다. 로그인

개발자팁

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
웹서버 4년 전 조회 2,343
웹서버 4년 전 조회 3,337
PHP 4년 전 조회 3,297
웹서버 4년 전 조회 2,547
기타 4년 전 조회 3,088
기타 4년 전 조회 2,771
기타 4년 전 조회 1,888
PHP 4년 전 조회 1,566
PHP 4년 전 조회 1,972
node.js 4년 전 조회 1,731
node.js 4년 전 조회 1,738
node.js 4년 전 조회 1,462
node.js 4년 전 조회 1,302
node.js 4년 전 조회 1,303
기타 4년 전 조회 2,802
웹서버 4년 전 조회 2,821
MySQL 4년 전 조회 1,537
기타 4년 전 조회 1,469
OS 4년 전 조회 2,112
웹서버 4년 전 조회 3,706
OS 4년 전 조회 2,473
PHP 4년 전 조회 2,235
웹서버 4년 전 조회 1,775
MySQL 4년 전 조회 1,920
OS 4년 전 조회 2,767
PHP 4년 전 조회 4,431
MySQL 4년 전 조회 1,845
MySQL 4년 전 조회 1,972
MySQL 4년 전 조회 4,193
MySQL 4년 전 조회 1,917
🐛 버그신고