Aramayı daraltmak için Sırala seçeneği Relavence'e göre sıralandığında, Magento Connect'teki arama işlevinin arkasındaki mantığı veya algoritmayı anlamak istiyorum
Aramayı daraltmak için Sırala seçeneği Relavence'e göre sıralandığında, Magento Connect'teki arama işlevinin arkasındaki mantığı veya algoritmayı anlamak istiyorum
Yanıtlar:
Arama MySQL FULLTEXT dizini kullanılarak uygulandığını varsayalım.
İşte bu dizinin nasıl çalıştığına ilişkin MySQL resmi belgelerinden bir alıntı:
Döndürülen satırlar otomatik olarak önce en yüksek alaka düzeyine göre sıralanır. Alaka düzeyi değerleri negatif olmayan kayan nokta sayılarıdır. Sıfır alaka, benzerlik olmadığı anlamına gelir. Alaka düzeyi, satırdaki kelimelerin sayısına, bu satırdaki benzersiz kelimelerin sayısına, koleksiyondaki toplam kelimelerin sayısına ve belirli bir kelimeyi içeren belge (satırların) sayısına göre hesaplanır.
Bunun bir kanıtı olarak, aşağıdaki arama terimlerini kullanarak Magento Connect web sitesinde bir arama gerçekleştirmeyi deneyebilirsiniz:
İlk dönem için ilk sonuçlar başlıklı modüllerdir:
Ikinci için:
Sonuncusu için:
Her durumda görebileceğiniz gibi, ilk öğelerin başlıkta birden fazla arama terimi var, bu nedenle bunların alaka düzeyi daha yüksek.
Görünüşe göre Magento Connect araması böyle çalışıyor.
Magento.com, Drupal üzerine kurulurken Magento Connect, en azından temel olarak Magento'nun kendisini kullanıyor gibi görünüyor.
magento-connect/catalogsearch/result/?q=TERM
kullanılan JavaScript dosyaları:
http://www.magentocommerce.com/magento-connect/skin/frontend/enterprise/connect/css/base.css gibi CSS dosyalarının yollarını içeren başlık:
* @category design
* @package enterprise_connect
* @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
* @license http://www.magentocommerce.com/license/enterprise-edition
Bu bilgilerle, aramanın Magento Enterprise'da olduğu gibi çalıştığına karar verebiliriz. Şimdi birkaç olasılık var:
Rasgele arama terimi kombinasyonları için arama yapıp yapmadığınızı görebileceğiniz gibi LIKE
, OR
bu herkesin nefret ettiği varsayılan arama değildir . Bu nedenle, @alex_b tarafından önerildiği gibi varsayılan olarak alaka düzeyine göre sipariş veren tam metin araması veya Enterprise_Search modülünün Solr araması, muhtemelen ayrıntıları ifşa etmeme izin verilmiyor.