3. 쿼리 확장으로 풀텍스트 검색
전체 텍스트 검색은 쿼리 확장을 지원합니다 (특히 변형 된 "숨은 쿼리 확장"). 일반적으로 검색 문구가 너무 짧으면 사용자가 전체 텍스트 검색 엔진이 부족하다는 묵시적 지식에 의존하고있는 경우에 유용합니다. 예를 들어, "데이터베이스"를 검색하는 사용자는 실제로 "MySQL", "Oracle", "DB2"및 "RDBMS"가 모두 "데이터베이스"와 일치해야하며 반환되어야하는 구입니다. 이것은 함축 된 지식입니다.
블라인드 검색어 확장 (자동 관련성 피드백이라고도 함)은 검색 구문 다음에 QUERY EXPANSION 또는 QUERY EXPANSION이 포함 된 NATURAL LANGUAGE MODE를 추가하여 사용할 수 있습니다. 검색을 두 번 수행하면 두 번째 검색의 검색 구문이 첫 번째 검색에서 가장 관련성이 가장 높은 몇 개의 문서와 연결된 원래 검색 구문이됩니다. 따라서 이러한 문서 중 하나에 "데이터베이스"라는 단어와 "MySQL"이라는 단어가 포함되어있는 경우 두 번째 검색은 "데이터베이스"라는 단어가 없더라도 "MySQL"이라는 단어가 포함 된 문서를 찾습니다. 다음 예는이 차이점을 보여줍니다.
mysql> SELECT * FROM articles -> WHERE MATCH (title,body) -> AGAINST ('database' IN NATURAL LANGUAGE MODE);+----+-------------------+------------------------------------------+| id | title | body |+----+-------------------+------------------------------------------+| 5 | MySQL vs. YourSQL | In the following database comparison ... || 1 | MySQL Tutorial | DBMS stands for DataBase ... |+----+-------------------+------------------------------------------+2 rows in set (0.00 sec)mysql> SELECT * FROM articles -> WHERE MATCH (title,body) -> AGAINST ('database' WITH QUERY EXPANSION);+----+-------------------+------------------------------------------+| id | title | body |+----+-------------------+------------------------------------------+| 1 | MySQL Tutorial | DBMS stands for DataBase ... || 5 | MySQL vs. YourSQL | In the following database comparison ... || 3 | Optimizing MySQL | In this tutorial we will show ... |+----+-------------------+------------------------------------------+3 rows in set (0.00 sec)
또 다른 예는 Georges Simenon이 Maigret에 대한 책을 검색하는 것입니다. 사용자가 "Maigret"을 철자하는 방법을 잘 모르는 경우입니다. "Megre와 마지 못해 증인"을 검색하면 쿼리 확장없이 "Maigret and Reluctant Witnesses"만 찾습니다. 검색어 확장으로 검색하면 두 번째 단계에서 'Maigret'이라는 단어가있는 모든 책을 찾습니다.
노트
블라인드 쿼리 확장은 관련성이없는 문서를 반환하여 잡음을 크게 증가시키는 경향이 있기 때문에 검색 구문이 다소 짧은 경우에만 사용하는 것이 좋습니다
최근 덧글