2012-01-10 11 views
8

Ho un problema che ho un disperato bisogno di aiuto. Sono su Magento ver. 1.6.1.0, ogni volta che cerco con una frase come "baby's cute shoes" in magento, i risultati non sono accurati, ma quando cerco solo parole come "cute" o "shoes", allora mi dà il risultato.problema di ricerca magento

Ho la sensazione che Magento non sia in grado di cercare una frase ma è in grado di cercare prodotti con parole. C'è qualcosa che posso fare per ottimizzare al meglio la ricerca in Magento?

+0

Le ricerche di Magento non associano le frasi. Hai una corrispondenza SQL Like che cerca% word% con un'iterazione per ogni parola nella query e poi applica la logica AND/OR (AND dà i risultati migliori in quanto ogni parola deve corrispondere nei risultati) o Fulltext che dovrebbe dare di meglio risultati di quanto non faccia –

risposta

4

Le opzioni per la ricerca possono essere trovate nel back-end in Sistema> Catalogo> Ricerca catalogo, probabilmente il tipo di ricerca è impostato su LIKE. Potresti ottenere risultati migliori usando la modalità FULLTEXT.

+0

Può potenzialmente ottenere risultati migliori utilizzando la modalità FULLTEXT quando è stato configurato correttamente tramite le impostazioni MySql my.cnf ... –

+0

L'ho modificato in LIKE e FULLTEXT. Funziona bene per me. – PiTheNumber

0

La ricerca di Magento di Stock ha bisogno di alcune modifiche per renderlo funzionale. La ricerca "Mi piace" è stata modificata dalla logica AND alla logica OR in 1.5/1.6 e offre risultati migliori quando si ritorna alla logica AND. Questo problema è stato risolto in diversi thread nei forum Magento sul sito Web di Magento. Un'altra soluzione è quella di sminuzzare i plurali, che è anche indirizzato lì.

Il motivo per il taglio di "s" è che la maggior parte delle persone non cerca "un manometro dell'olio", ma "manometri dell'olio" che dà manchevolezze totali quando si vende un "olio 0-100 psi" Manometro". Inoltre, alias tutti gli elementi che terminano in "i" al loro singolare. Raramente vendi una "batteria di aerei rc", sarà specifica come "batteria dell'aeromobile 1200aH" e quindi le ricerche del tuo cliente meno esperto non corrispondono mai.

"Baby's cute shoes" non registrerà mai un hit a meno che non compaia negli elementi che si utilizzano per popolare l'indice di ricerca Fulltext. Chi vende comunque un oggetto chiamato "scarpe carine del bambino"? Di solito io so- no questi tipi di ricerche per colpire una categoria specifica in cui sono elencati gli articoli. Alcune ricerche dei clienti sono troppo soggettive per corrispondere alla natura oggettiva della ricerca del prodotto (elementi reali rispetto a un'idea nebulosa).

2

ho ottenuto il mio problema risolto da questo link - https://stackoverflow.com/questions/1953715/magento-search-not-returning-expected-results

sono andato a questa linea in app/code/core/Mage/CatalogSearch/Modello/Resource/Fulltext.php

e fatto questo (di seguito)

copia app/code/core/Mage/CatalogSearch/Modello/MySQL4/Fulltext.php a app/code/local/Mage/CatalogSearch/Modello/MySQL4/Fulltext.php

linea 341-343 app /code/local/Mage/CatalogSearch/Model/Mysql4/Fulltext.php

se ($ mi piace) { $ likeCond = '('. join ('OR', $ like). ')'; } cambiamento in

if ($ simili) {$ likeCond = '(' join ('E', $ simili).. ')'; }

+1

FYI non dovresti mai modificare Magento core ... estendilo con un modulo che riscrive i file secondo necessità. – Storsey

1

Assicurarsi inoltre di modificare l'ordine in cui vengono visualizzati i risultati. Il Magento predefinito è di servirlo all'indietro.

Aggiungere quanto segue a/app/design/frontend/default/default/layout/catalogsearch.xml

<reference name="search_result_list"> 
    <action method="setDefaultDirection"><string>asc</string></action> 
    <action method="setDefaultOrder"><string>relevance</string></action> 
</reference> 

Tra il seguente:

<catalogsearch_result_index translate="label"> 
    ... 
</catalogsearch_result_index> 
4

Magento non ricerca la stringa inserita come una frase completa. Invece divide (tokenizza) la stringa di ricerca in parole e cercherà prodotti contenenti QUALSIASI di queste parole (implementando la logica "OR"). Quindi, se stai cercando "scarpe rosse", troverà tutto ciò che contiene parole "rosso" o contenente parole "scarpe". Ovviamente non è molto utile nella maggior parte dei casi in quanto produrrà un sacco di risultati del tutto irrilevanti.

È possibile controllare questa estensione gratuita per affinare la ricerca: Catalog Search Refinement FREE. Questa estensione modifica il comportamento di ricerca per trovare solo i prodotti che hanno TUTTE le parole chiave (logica "AND" in altre parole). Questo troverà solo prodotti che hanno sia parole chiave "rosse" che "scarpe". C'è anche Advanced Search version of that extension che cerca anche parole simili basate sulla distanza fonetica tra le altre cose, oltre agli attributi di ricerca ponderati, che permettono di far saltare in aria i prodotti più rilevanti.

Problemi correlati