12.9.3 쿼리 확장을 사용한 전문 검색
전체 검색 쿼리 확장 (특히, 그 변형의 '블라인드 쿼리 확장 ")을 지원하고 있습니다. 일반적으로 이것은 검색 문구가 너무 짧은 경우에 유용합니다. 즉, 사용자는 종종 암묵적인 지식에 의존하고 있지만 전체 텍스트 검색 엔진은 이것이 부족한 것을 의미합니다. 예를 들어, 사용자가 "database"를 검색하는 것은 실제로 "MySQL", "Oracle", "DB2"및 "RDBMS"모든 "databases"에 일치 반환되어야 문구임을 의미 하는 경우가 있습니다. 이것이 암시 적 지식입니다.
블라인드 쿼리 확장 (자동 관련성 피드백라고도 함)는 검색 문구 뒤에 WITH QUERY EXPANSION
또는 IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION
을 추가하여 사용할 수 있습니다. 이것은 검색을 두 번 실행하여 작동합니다. 두 번째 검색에서 검색 문구는 1 차 검색에서 가장 관련성이 높은 몇 개의 문서와 연결된 기존의 검색 문구입니다. 따라서 이러한 문서 중 하나에 단어 "databases"및 낱말 "MySQL"이 포함되어있는 경우는 단어 "database"가 포함되어 있지 않더라도 두 번째 검색에서 단어 "MySQL"가 포함 된 문서 이 검색됩니다. 다음 예제에서는이 차이점을 보여줍니다.
mysql>SELECT * FROM articles
WHERE MATCH (title,body)
AGAINST ('database' IN NATURAL LANGUAGE MODE);
+----+-------------------+------------------------------------------+ | id | title | body | +----+-------------------+------------------------------------------+ | 1 | MySQL Tutorial | DBMS stands for DataBase ... | | 5 | MySQL vs. YourSQL | In the following database comparison ... | +----+-------------------+------------------------------------------+ 2 rows in set (0.00 sec) mysql>SELECT * FROM articles
WHERE MATCH (title,body)
AGAINST ('database' WITH QUERY EXPANSION);
+----+-----------------------+------------------------------------------+ | id | title | body | +----+-----------------------+------------------------------------------+ | 5 | MySQL vs. YourSQL | In the following database comparison ... | | 1 | MySQL Tutorial | DBMS stands for DataBase ... | | 3 | Optimizing MySQL | In this tutorial we will show ... | | 6 | MySQL Security | When configured properly, MySQL ... | | 2 | How To Use MySQL Well | After you went through a ... | | 4 | 1001 MySQL Tricks | 1. Never run mysqld as root. 2. ... | +----+-----------------------+------------------------------------------+ 6 rows in set (0.00 sec)
또 다른 예는 사용자가 "Maigret '맞춤법에 자신이없는 때 Georges Simenon의의 Maigret에 관한 책을 검색하고 있습니다. 쿼리 확장을 사용하지 않으면 "Megre and the reluctant witnesses"를 검색해도 "Maigret and the Reluctant Witnesses '만 검색됩니다. 쿼리 확장을 사용하면 두 번째 검색에서 단어 "Maigret '를 포함한 모든 도서가 검색됩니다.
블라인드 쿼리 확장은 관련이없는 문서가 반환되면 노이즈가 크게 증가하는 경향이 있기 때문에, 검색 문구가 너무 짧은 경우에만 사용하십시오.