Chcę zrozumieć logikę lub algorytm funkcji wyszukiwania w Magento Connect, gdy opcja Sortuj według w Uściślij wyszukiwanie jest ustawiona na sortowanie według Relavence
Chcę zrozumieć logikę lub algorytm funkcji wyszukiwania w Magento Connect, gdy opcja Sortuj według w Uściślij wyszukiwanie jest ustawiona na sortowanie według Relavence
Odpowiedzi:
Przypuszczam, że wyszukiwanie jest realizowane za pomocą indeksu MySQL FULLTEXT.
Oto cytat z oficjalnej dokumentacji MySQL dotyczący działania tego indeksu:
Zwrócone wiersze są najpierw automatycznie sortowane z najwyższym trafnością. Wartości trafności są nieujemnymi liczbami zmiennoprzecinkowymi. Zero trafności oznacza brak podobieństwa. Trafność jest obliczana na podstawie liczby słów w wierszu, liczby niepowtarzalnych słów w tym wierszu, łącznej liczby słów w kolekcji oraz liczby dokumentów (wierszy) zawierających określone słowo.
Na dowód tego możesz spróbować przeprowadzić wyszukiwanie w witrynie Magento Connect, używając następujących wyszukiwanych haseł:
W pierwszym semestrze pierwsze wyniki to moduły z tytułami:
Po drugie:
Dla ostatniego:
Jak widać we wszystkich przypadkach, w pierwszych elementach występuje więcej niż jedno wystąpienie wyszukiwanego terminu w tytule, więc ich znaczenie jest większe.
Wygląda na to, że tak działa wyszukiwanie Magento Connect.
Chociaż Magento.com opiera się na Drupal, Magento Connect wydaje się używać samego Magento, przynajmniej jako podstawy.
magento-connect/catalogsearch/result/?q=TERM
używane pliki JavaScript:
ścieżki do plików CSS, takich jak http://www.magentocommerce.com/magento-connect/skin/frontend/enterprise/connect/css/base.css z licencją zawierającą nagłówek:
* @category design
* @package enterprise_connect
* @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
* @license http://www.magentocommerce.com/license/enterprise-edition
Dzięki tym informacjom możemy zgodzić się, że wyszukiwanie działa tak samo jak w Magento Enterprise. Teraz jest kilka możliwości:
Jak widać, jeśli wyszukujesz dowolne kombinacje wyszukiwanych terminów, nie jest to domyślne LIKE
wyszukiwanie, OR
którego wszyscy nienawidzą. Więc albo jest to wyszukiwanie pełnotekstowe, które domyślnie sortuje według trafności, jak sugeruje @alex_b, lub wyszukiwanie Solr modułu Enterprise_Search, dla którego prawdopodobnie nie mogę ujawnić szczegółów.