Loading...
MySQL 9.5 Reference Manual 9.5의 14.9.3 Full-Text Searches with Query Expansion의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Full-text search는 query expansion(특히 그 변형인 “blind query expansion”)을 지원합니다. 이는 일반적으로 검색 구문이 너무 짧을 때 유용한데, 이런 경우 종종 사용자가 full-text 검색 엔진이 가지고 있지 않은 암묵적 지식을 전제로 하고 있기 때문입니다.
예를 들어, 사용자가 “database”를 검색할 때 실제로는 “MySQL”, “Oracle”, “DB2”, “RDBMS” 모두가 “databases”와 매치되어 함께 반환되어야 한다고 생각할 수 있습니다. 이것이 암묵적 지식입니다.
Blind query expansion(automatic relevance feedback이라고도 함)은 검색 구문 뒤에 WITH QUERY EXPANSION 또는 IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION을 추가하여 활성화합니다. 이는 검색을 두 번 수행하여 동작하는데, 두 번째 검색의 검색 구문은 첫 번째 검색에서 가장 높은 연관성을 가진 몇 개의 문서를 원래 검색 구문에 이어 붙인 것입니다.
따라서 이 문서들 중 하나가 “databases”라는 단어와 “MySQL”이라는 단어를 모두 포함한다면, 두 번째 검색에서는 “database”라는 단어를 포함하지 않더라도 “MySQL”이라는 단어를 포함하는 문서들을 찾습니다. 다음 예제는 이러한 차이를 보여 줍니다:
1mysql> SELECT * FROM articles 2 WHERE MATCH (title,body) 3 AGAINST ('database' IN NATURAL LANGUAGE MODE); 4+----+-------------------+------------------------------------------+ 5| id | title | body | 6+----+-------------------+------------------------------------------+ 7| 1 | MySQL Tutorial | DBMS stands for DataBase ... | 8| 5 | MySQL vs. YourSQL | In the following database comparison ... | 9+----+-------------------+------------------------------------------+ 102 rows in set (0.00 sec) 11 12mysql> SELECT * FROM articles 13 WHERE MATCH (title,body) 14 AGAINST ('database' WITH QUERY EXPANSION); 15+----+-----------------------+------------------------------------------+ 16| id | title | body | 17+----+-----------------------+------------------------------------------+ 18| 5 | MySQL vs. YourSQL | In the following database comparison ... | 19| 1 | MySQL Tutorial | DBMS stands for DataBase ... | 20| 3 | Optimizing MySQL | In this tutorial we show ... | 21| 6 | MySQL Security | When configured properly, MySQL ... | 22| 2 | How To Use MySQL Well | After you went through a ... | 23| 4 | 1001 MySQL Tricks | 1. Never run mysqld as root. 2. ... | 24+----+-----------------------+------------------------------------------+ 256 rows in set (0.00 sec)
또 다른 예로는, 사용자가 Georges Simenon의 Maigret에 대한 책을 찾고 싶은데 “Maigret”의 철자를 확실히 모르는 경우일 수 있습니다. “Megre and the reluctant witnesses”라는 검색은 query expansion 없이 “Maigret and the Reluctant Witnesses”만 찾습니다. Query expansion을 사용한 검색에서는 두 번째 검색에서 “Maigret”이라는 단어가 들어 있는 모든 책을 찾습니다.
참고
Blind query expansion은 비관련 문서를 반환함으로써 노이즈를 크게 증가시키는 경향이 있으므로, 검색 구문이 짧을 때에만 사용하십시오.
14.9.2 Boolean Full-Text Searches
14.9.4 Full-Text Stopwords