검색 수정의 정렬 기준 옵션이 관련성에 따라 정렬되도록 설정된 경우 Magento Connect의 검색 기능 뒤에있는 논리 또는 알고리즘을 이해하고 싶습니다.
검색 수정의 정렬 기준 옵션이 관련성에 따라 정렬되도록 설정된 경우 Magento Connect의 검색 기능 뒤에있는 논리 또는 알고리즘을 이해하고 싶습니다.
답변:
검색이 MySQL FULLTEXT 인덱스를 사용하여 구현되었다고 가정합니다.
인덱스 작동 방식에 관한 MySQL 공식 문서의 인용문은 다음과 같습니다.
반환 된 행은 가장 관련성이 높은 순서대로 자동 정렬됩니다. 관련성 값은 음이 아닌 부동 소수점 숫자입니다. 무의미 함은 유사성이 없음을 의미합니다. 관련성은 행의 단어 수, 해당 행의 고유 단어 수, 모음의 총 단어 수 및 특정 단어가 포함 된 문서 (행) 수를 기반으로 계산됩니다.
이를 증명하기 위해 다음과 같은 검색어를 사용하여 Magento Connect 웹 사이트에서 검색을 시도 할 수 있습니다.
첫 번째 용어의 첫 번째 결과는 제목이있는 모듈입니다.
두 번째로 :
마지막으로 :
모든 경우에서 볼 수 있듯이 첫 번째 항목에는 제목에 두 개 이상의 검색어가 있으므로 관련성이 더 높습니다.
Magento Connect 검색이 작동하는 방식입니다.
Magento.com은 Drupal을 기반으로하지만 Magento Connect는 최소한 기초로 Magento 자체를 사용하고있는 것 같습니다.
magento-connect/catalogsearch/result/?q=TERM
사용 된 JavaScript 파일 :
다음을 포함하는 헤더에 라이센스가있는 http://www.magentocommerce.com/magento-connect/skin/frontend/enterprise/connect/css/base.css 와 같은 CSS 파일의 경로
* @category design
* @package enterprise_connect
* @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
* @license http://www.magentocommerce.com/license/enterprise-edition
이 정보를 통해 검색이 Magento Enterprise에서와 동일한 방식으로 작동한다는 데 동의 할 수 있습니다. 이제 몇 가지 가능성이 있습니다.
임의의 검색어 조합을 검색하는지 알 수 있듯이 모든 사람이 싫어하는 기본 LIKE
검색은 아닙니다 OR
. 따라서 @alex_b 또는 Enterprise_Search 모듈의 Solr 검색에서 제안한 것처럼 기본적으로 관련성에 따라 주문하는 전체 텍스트 검색 중 하나입니다.이 세부 정보는 공개 할 수 없습니다.