Voglio capire la logica o l'algoritmo alla base della funzionalità di ricerca in Magento Connect quando l'opzione Ordina per in Perfeziona ricerca è impostata per ordinare in base a Relavence
Voglio capire la logica o l'algoritmo alla base della funzionalità di ricerca in Magento Connect quando l'opzione Ordina per in Perfeziona ricerca è impostata per ordinare in base a Relavence
Risposte:
Suppongo che la ricerca sia implementata usando l'indice FULLTEXT di MySQL.
Ecco una citazione dalla documentazione ufficiale di MySQL su come funziona quell'indice:
Le righe restituite vengono ordinate automaticamente per prime per prima. I valori di pertinenza sono numeri in virgola mobile non negativi. La rilevanza zero significa nessuna somiglianza. La pertinenza viene calcolata in base al numero di parole nella riga, al numero di parole uniche in quella riga, al numero totale di parole nella raccolta e al numero di documenti (righe) che contengono una determinata parola.
A riprova di ciò, puoi provare a eseguire una ricerca sul sito Web Magento Connect utilizzando i seguenti termini di ricerca:
Per il primo termine i primi risultati sono moduli con titoli:
Per il secondo:
Per l'ultimo:
Come puoi vedere in tutti i casi, i primi elementi hanno più di una occorrenza del termine di ricerca nel titolo, quindi la loro rilevanza è maggiore.
Sembra che il modo in cui funziona la ricerca di Magento Connect.
Mentre Magento.com è basato su Drupal, Magento Connect sembra utilizzare Magento stesso, almeno come base.
magento-connect/catalogsearch/result/?q=TERM
i file JavaScript utilizzati:
percorsi di file CSS come http://www.magentocommerce.com/magento-connect/skin/frontend/enterprise/connect/css/base.css con licenza l'intestazione contenente:
* @category design
* @package enterprise_connect
* @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
* @license http://www.magentocommerce.com/license/enterprise-edition
Con queste informazioni, possiamo concordare che la ricerca funziona allo stesso modo di Magento Enterprise. Ora ci sono diverse possibilità:
Come puoi vedere se cerchi combinazioni di termini di ricerca arbitrarie, non è la LIKE
ricerca predefinita OR
che tutti odiano. Quindi, o è la ricerca full-text che ordina per rilevanza per impostazione predefinita, come suggerito da @alex_b o la ricerca Solr del modulo Enterprise_Search, per la quale probabilmente non mi è permesso rivelare dettagli.